aboutsummaryrefslogtreecommitdiff
path: root/src/idt/stubs.S
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2021-03-06 17:51:05 +0200
committerAqua-sama <aqua@iserlohn-fortress.net>2021-03-06 17:51:05 +0200
commitadfb2c00592e08815a546548f3e87809a645696c (patch)
tree45b31744909ea1ebc0d75365bd0fdaac404fc145 /src/idt/stubs.S
parentGDT: flush segment registers on lgdt (diff)
downloadkernel.cpp-adfb2c00592e08815a546548f3e87809a645696c.tar.xz
scheduler: fix task switching
Diffstat (limited to 'src/idt/stubs.S')
-rw-r--r--src/idt/stubs.S7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/idt/stubs.S b/src/idt/stubs.S
index 4f1440d..d4fb56f 100644
--- a/src/idt/stubs.S
+++ b/src/idt/stubs.S
@@ -82,13 +82,14 @@ exception_common:
iret
interrupt_common:
- pusha
+ pushal
push %esp
call handle_interrupt
- add $4, %esp
+ #add $4, %esp
+ mov %eax, %esp
- popa
+ popal
/* remove error code and irq from stack */
add $8, %esp