diff options
author | Andreas Kling <awesomekling@gmail.com> | 2018-10-19 11:28:43 +0200 |
---|---|---|
committer | Andreas Kling <awesomekling@gmail.com> | 2018-10-19 11:31:18 +0200 |
commit | 46ff281695fc6daa1897de4f4693c7407abaced0 (patch) | |
tree | 8ff418e135ca3597f292f2e89aefb8b5e9854d35 /Kernel/i386.h | |
parent | 2d1d01661b0c21fad05532f8a0bbfe0efbe2663a (diff) | |
download | serenity-46ff281695fc6daa1897de4f4693c7407abaced0.zip |
Turn the syscall interrupt into a trap (by switching the gate type.)
This leaves interrupts enabled while we're in the kernel, which is
precisely what we want.
This uncovered a horrendous problem with kernel tasks silently
overflowing their stacks. For now I've simply increased the stack size
but I need a more MMU-y solution for this eventually.
Diffstat (limited to 'Kernel/i386.h')
-rw-r--r-- | Kernel/i386.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Kernel/i386.h b/Kernel/i386.h index 73c23e5fbf..666a026a7c 100644 --- a/Kernel/i386.h +++ b/Kernel/i386.h @@ -72,8 +72,8 @@ void writeGDTEntry(WORD selector, Descriptor&); #define LSB(x) ((x) & 0xFF) #define MSB(x) (((x)>>8) & 0xFF) -#define disableInterrupts() asm volatile("cli"); -#define enableInterrupts() asm volatile("sti"); +#define cli() asm volatile("cli") +#define sti() asm volatile("sti") /* Map IRQ0-15 @ ISR 0x50-0x5F */ #define IRQ_VECTOR_BASE 0x50 |