From 376ec895110deb142a9162984e50ad6f0616758e Mon Sep 17 00:00:00 2001 From: Danny Holman Date: Sat, 9 Oct 2021 15:26:32 -0500 Subject: arch: i386: include more information in IDT Include information about the current stack frame in the IDT handler(s). Signed-off-by: Danny Holman --- arch/i386/include/kernel/isr.h | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'arch/i386/include/kernel/isr.h') diff --git a/arch/i386/include/kernel/isr.h b/arch/i386/include/kernel/isr.h index a924cd6..61fe22f 100644 --- a/arch/i386/include/kernel/isr.h +++ b/arch/i386/include/kernel/isr.h @@ -1,6 +1,31 @@ #ifndef I386_ISR_H #define I386_ISR_H +#include + +struct isr_frame { + uint32_t cr4; + uint32_t cr3; + uint32_t cr2; + uint32_t cr0; + + uint32_t edi; + uint32_t esi; + uint32_t edx; + uint32_t ecx; + uint32_t ebx; + uint32_t eax; + + uint32_t ebp; + uint32_t vector; + uint32_t errno; + uint32_t eip; + uint32_t cs; + uint32_t eflags; + uint32_t esp; + uint32_t dss; +} __attribute__((packed)); + extern void isr_stub_0(void); extern void isr_stub_1(void); extern void isr_stub_2(void); @@ -34,4 +59,4 @@ extern void isr_stub_29(void); extern void isr_stub_30(void); extern void isr_stub_31(void); -#endif \ No newline at end of file +#endif -- cgit v1.2.3