diff options
author | dzwdz | 2022-05-29 21:21:46 +0200 |
---|---|---|
committer | dzwdz | 2022-05-29 21:21:46 +0200 |
commit | c3e611ecf1e0f6ac5790e56bb0b21d30f5253d15 (patch) | |
tree | e47b9d9ba7489c7510498895620217c9e6514e5b /src/kernel/arch/i386/interrupts/isr_stub.s | |
parent | a6ed7a20a823e67c19b93309706c57ddee1933c6 (diff) |
kernel: fix overlapping interrupt / regular stacks
Diffstat (limited to 'src/kernel/arch/i386/interrupts/isr_stub.s')
-rw-r--r-- | src/kernel/arch/i386/interrupts/isr_stub.s | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/kernel/arch/i386/interrupts/isr_stub.s b/src/kernel/arch/i386/interrupts/isr_stub.s index 9a903f6..c09d4b2 100644 --- a/src/kernel/arch/i386/interrupts/isr_stub.s +++ b/src/kernel/arch/i386/interrupts/isr_stub.s @@ -23,11 +23,11 @@ _isr_stage2: mov %ebx, %cr0 mov %esp, %ebp - mov $_bss_end, %esp // switch to kernel stack + mov $_isr_big_stack, %esp push %eax // push the vector nr call isr_stage3 - mov %ebp, %esp // switch back to isr_stack + mov %ebp, %esp pop %eax // restore old cr0 mov %eax, %cr0 @@ -35,8 +35,7 @@ _isr_stage2: iret .align 8 -_ist_stack_btm: // TODO overflow check .skip 64 // seems to be enough -.global _isr_stack_top -_isr_stack_top: +.global _isr_mini_stack +_isr_mini_stack: |