X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/45e1f8b055043e54be35462852ab6649d634da7c..04ee277abd77fc51c5ab02ee58790a859607ea24:/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 6d3c4b1..0d7c815 100644 --- a/lunaix-os/includes/arch/x86/interrupts.h +++ b/lunaix-os/includes/arch/x86/interrupts.h @@ -8,24 +8,25 @@ struct exec_param; +struct regcontext +{ + reg32 eax; + reg32 ebx; + reg32 ecx; + reg32 edx; + reg32 edi; + reg32 ebp; + reg32 esi; + reg32 ds; + reg32 es; + reg32 fs; + reg32 gs; +} __attribute__((packed)); + typedef struct { unsigned int depth; - struct - { - reg32 eax; - reg32 ebx; - reg32 ecx; - reg32 edx; - reg32 edi; - reg32 ebp; - reg32 esi; - reg32 ds; - reg32 es; - reg32 fs; - reg32 gs; - } __attribute__((packed)) registers; - + struct regcontext registers; union { reg32 esp; @@ -35,7 +36,7 @@ typedef struct struct exec_param { - isr_param saved_prev_ctx; + isr_param* saved_prev_ctx; u32_t vector; u32_t err_code; u32_t eip;