X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/cd09c4b222e4ddf45a42522563ae2471a829d1c8..9406e904ddad5db2ba2dd550e21bbb224899fd79:/lunaix-os/includes/arch/x86/interrupts.h diff --git a/lunaix-os/includes/arch/x86/interrupts.h b/lunaix-os/includes/arch/x86/interrupts.h index fb4eb79..6265720 100644 --- a/lunaix-os/includes/arch/x86/interrupts.h +++ b/lunaix-os/includes/arch/x86/interrupts.h @@ -1,19 +1,46 @@ #ifndef __LUNAIX_INTERRUPTS_H #define __LUNAIX_INTERRUPTS_H +#define FAULT_DIVISION_ERROR 0x0 +#define FAULT_TRAP_DEBUG_EXCEPTION 0x1 +#define INT_NMI 0x2 +#define TRAP_BREAKPOINT 0x3 +#define TRAP_OVERFLOW 0x4 +#define FAULT_BOUND_EXCEED 0x5 +#define FAULT_INVALID_OPCODE 0x6 +#define FAULT_NO_MATH_PROCESSOR 0x7 +#define ABORT_DOUBLE_FAULT 0x8 +#define FAULT_RESERVED_0 0x9 +#define FAULT_INVALID_TSS 0xa +#define FAULT_SEG_NOT_PRESENT 0xb +#define FAULT_STACK_SEG_FAULT 0xc +#define FAULT_GENERAL_PROTECTION 0xd +#define FAULT_PAGE_FAULT 0xe +#define FAULT_RESERVED_1 0xf +#define FAULT_X87_FAULT 0x10 +#define FAULT_ALIGNMENT_CHECK 0x11 +#define ABORT_MACHINE_CHECK 0x12 +#define FAULT_SIMD_FP_EXCEPTION 0x13 +#define FAULT_VIRTUALIZATION_EXCEPTION 0x14 +#define FAULT_CONTROL_PROTECTION 0x15 + typedef struct { unsigned int vector; unsigned int err_code; unsigned int eip; unsigned int cs; unsigned int eflags; + unsigned int esp; + unsigned int ss; } __attribute__((packed)) isr_param; void _asm_isr0(); void -interrupt_handler(isr_param* param); +_asm_isr13(); +void +interrupt_handler(isr_param* param); #endif /* __LUNAIX_INTERRUPTS_H */