X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/50cc83db21e08850cb869b02f24ef19cf52d32d5..98fd6cb58b5bbc55cd9ceb45bd27b45a3b222df7:/lunaix-os/includes/arch/x86/interrupts.h?ds=sidebyside diff --git a/lunaix-os/includes/arch/x86/interrupts.h b/lunaix-os/includes/arch/x86/interrupts.h index d25fbe3..395cfe2 100644 --- a/lunaix-os/includes/arch/x86/interrupts.h +++ b/lunaix-os/includes/arch/x86/interrupts.h @@ -5,6 +5,18 @@ #ifndef __ASM__ #include + +struct exec_param +{ + unsigned int vector; + unsigned int err_code; + unsigned int eip; + unsigned int cs; + unsigned int eflags; + unsigned int esp; + unsigned int ss; +} __attribute__((packed)); + typedef struct { struct @@ -20,16 +32,14 @@ typedef struct reg32 es; reg32 fs; reg32 gs; - reg32 esp; + // reg32 esp; } __attribute__((packed)) registers; - unsigned int vector; - unsigned int err_code; - unsigned int eip; - unsigned int cs; - unsigned int eflags; - unsigned int esp; - unsigned int ss; + union + { + reg32 esp; + struct exec_param* execp; + }; } __attribute__((packed)) isr_param; void