X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/b60166b327a9108b07e3069fa6568a451529ffd9..28c176b668c841a3b7fb093faccf0efa39257603:/lunaix-os/arch/i386/exceptions/interrupts.c diff --git a/lunaix-os/arch/i386/exceptions/interrupts.c b/lunaix-os/arch/i386/exceptions/interrupts.c deleted file mode 100644 index 5951236..0000000 --- a/lunaix-os/arch/i386/exceptions/interrupts.c +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include - -LOG_MODULE("INTR") - -static inline void -update_thread_context(isr_param* param) -{ - if (!current_thread) { - return; - } - - isr_param* ppctx = current_thread->intr_ctx; - param->execp->saved_prev_ctx = ppctx; - current_thread->intr_ctx = param; - - if (ppctx) { - param->depth = ppctx->depth + 1; - } -} - -void -intr_handler(isr_param* param) -{ - update_thread_context(param); - - volatile struct exec_param* execp = param->execp; - if (execp->vector <= 255) { - isr_cb subscriber = isrm_get(execp->vector); - subscriber(param); - goto done; - } - - ERROR("INT %u: (%x) [%p: %p] Unknown", - execp->vector, - execp->err_code, - execp->cs, - execp->eip); - -done: - - intc_notify_eoi(0, execp->vector); - - return; -} \ No newline at end of file