From 0dc4d97e70c17df56a260d31a1cb44881cf64520 Mon Sep 17 00:00:00 2001 From: Danny Holman Date: Tue, 25 Jun 2024 12:49:40 -0500 Subject: kernel: interrupt: create a generic interrupt API Create a generic interface for drivers to make use of interrupt vectors. This API should be platform-agnostic enough to allow any driver to make use of virtually any interrupt vector on any CPU. On x86, the first 32 interrupts are set aside for CPU exceptions, and interrupt 128 is set aside for system calls. Signed-off-by: Danny Holman --- arch/i386/include/kernel/asm.h | 4 +++- arch/i386/include/kernel/syscall.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'arch/i386/include/kernel') diff --git a/arch/i386/include/kernel/asm.h b/arch/i386/include/kernel/asm.h index d692917..cc570c5 100644 --- a/arch/i386/include/kernel/asm.h +++ b/arch/i386/include/kernel/asm.h @@ -9,6 +9,8 @@ #define COM_PORT 0x3F8 +#define MAX_ISR 256 + struct regs { uint32_t eax; uint32_t ebx; @@ -95,7 +97,7 @@ void irq_stub_13(void); void irq_stub_14(void); void irq_stub_15(void); -void syscall_stub(void); +void isr_stub_128(void); void aquire_lock(int *lock); void release_lock(int *lock); diff --git a/arch/i386/include/kernel/syscall.h b/arch/i386/include/kernel/syscall.h index a689183..a657527 100644 --- a/arch/i386/include/kernel/syscall.h +++ b/arch/i386/include/kernel/syscall.h @@ -29,6 +29,6 @@ #define SYS_HALT 87 #define SYS_REBOOT 88 -int handle_syscall(struct isr_frame *frame); +void handle_syscall(struct isr_frame *frame); #endif -- cgit v1.2.3