From 46bb1d3157f9ad575c83a4bfa1e32b0d21bc8546 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Sat, 14 Sep 2019 01:42:29 -0700 Subject: 5650 - support a second OS: soso https://github.com/ozkl/soso + Much smaller than Linux; builds instantly + Supports graphics - No network support - Doesn't work on a cloud server (yet?) --- kernel.soso/isr.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 kernel.soso/isr.h (limited to 'kernel.soso/isr.h') diff --git a/kernel.soso/isr.h b/kernel.soso/isr.h new file mode 100644 index 00000000..15f5c8ac --- /dev/null +++ b/kernel.soso/isr.h @@ -0,0 +1,37 @@ +#ifndef ISR_H +#define ISR_H + +#include "common.h" + +#define IRQ0 32 +#define IRQ1 33 +#define IRQ2 34 +#define IRQ3 35 +#define IRQ4 36 +#define IRQ5 37 +#define IRQ6 38 +#define IRQ7 39 +#define IRQ8 40 +#define IRQ9 41 +#define IRQ10 42 +#define IRQ11 43 +#define IRQ12 44 +#define IRQ13 45 +#define IRQ14 46 +#define IRQ15 47 + +typedef struct Registers +{ + uint32 gs; + uint32 fs; + uint32 es; + uint32 ds; + uint32 edi, esi, ebp, esp, ebx, edx, ecx, eax; //pushed by pusha + uint32 interruptNumber, errorCode; //if applicable + uint32 eip, cs, eflags, userEsp, ss; //pushed by the CPU +} Registers; + +typedef void (*IsrFunction)(Registers*); +void registerInterruptHandler(uint8 n, IsrFunction handler); + +#endif //ISR_H -- cgit 1.4.1-2-gfad0