X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/28c176b668c841a3b7fb093faccf0efa39257603..9daf4fcdae88f72af60aeb0c7722841af02233d4:/lunaix-os/arch/x86/exceptions/intr_routines.c diff --git a/lunaix-os/arch/x86/exceptions/intr_routines.c b/lunaix-os/arch/x86/exceptions/intr_routines.c index 05f547e..5e18496 100644 --- a/lunaix-os/arch/x86/exceptions/intr_routines.c +++ b/lunaix-os/arch/x86/exceptions/intr_routines.c @@ -1,6 +1,5 @@ -#include +#include -#include #include #include #include @@ -10,8 +9,9 @@ #include -#include "sys/apic.h" -#include +#include +#include "asm/soc/apic.h" +#include "asm/x86.h" LOG_MODULE("INTR") @@ -39,6 +39,12 @@ intr_routine_general_protection(const struct hart_state* state) __print_panic_msg("general protection", state); } +void +intr_routine_invl_opcode(const struct hart_state* state) +{ + __print_panic_msg("invalid opcode", state); +} + void intr_routine_sys_panic(const struct hart_state* state) { @@ -89,6 +95,7 @@ intr_routine_init() isrm_bindiv(FAULT_GENERAL_PROTECTION, intr_routine_general_protection); isrm_bindiv(FAULT_PAGE_FAULT, intr_routine_page_fault); isrm_bindiv(FAULT_STACK_SEG_FAULT, intr_routine_page_fault); + isrm_bindiv(FAULT_INVALID_OPCODE, intr_routine_invl_opcode); isrm_bindiv(LUNAIX_SYS_PANIC, intr_routine_sys_panic); isrm_bindiv(LUNAIX_SCHED, intr_routine_sched);