summaryrefslogtreecommitdiff
path: root/arch/i386/include/kernel/isr.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/i386/include/kernel/isr.h')
-rw-r--r--arch/i386/include/kernel/isr.h27
1 files changed, 26 insertions, 1 deletions
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 <stdint.h>
+
+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