#include <lunaix/process.h>
#include <lunaix/sched.h>
#include <lunaix/mm/page.h>
#include <lunaix/process.h>
#include <lunaix/sched.h>
#include <lunaix/mm/page.h>
isr_param *lparam = &__current->intr_ctx;
if (lparam->vector <= 255) {
int_subscriber subscriber = subscribers[lparam->vector];
if (subscriber) {
isr_param *lparam = &__current->intr_ctx;
if (lparam->vector <= 255) {
int_subscriber subscriber = subscribers[lparam->vector];
if (subscriber) {
// for all external interrupts except the spurious interrupt
// this is required by Intel Manual Vol.3A, section 10.8.1 & 10.8.5
if (lparam->vector >= EX_INTERRUPT_BEGIN && lparam->vector != APIC_SPIV_IV) {
apic_done_servicing();
}
// for all external interrupts except the spurious interrupt
// this is required by Intel Manual Vol.3A, section 10.8.1 & 10.8.5
if (lparam->vector >= EX_INTERRUPT_BEGIN && lparam->vector != APIC_SPIV_IV) {
apic_done_servicing();
}