-#include <sys/hart.h>
+#include <asm/hart.h>
-#include <lunaix/generic/isrm.h>
#include <lunaix/process.h>
#include <lunaix/sched.h>
#include <lunaix/spike.h>
#include <klibc/strfmt.h>
-#include "sys/apic.h"
-#include <sys/int_handler.h>
+#include <asm/x86_isrm.h>
+#include "asm/soc/apic.h"
+#include "asm/x86.h"
LOG_MODULE("INTR")
__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)
{
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);