]> git.corax.cc Git - corax/commit
Improve interrupt handling and task switching code:
authorMatthias Kruk <m@m10k.eu>
Tue, 1 Oct 2019 09:13:09 +0000 (18:13 +0900)
committerMatthias Kruk <m@m10k.eu>
Tue, 1 Oct 2019 09:13:09 +0000 (18:13 +0900)
commitab9c30fc484017a3e37e420462d0838ad50b5091
tree38e26d28350eb4fb85a98d9efa70d68fb05b5b7d
parentd0b1182a64ddc13743bd7762cdc7754880c07c04
Improve interrupt handling and task switching code:
 - Introduce definitions to make task_prepare and task_switch easier to understand
 - Make interrupt handlers push cr3 onto the stack and restore it before an iret
 - Make interrupt handlers adjust the stack pointers upon entry/exit since the tasks'
   kernel-mode stacks are mapped at their linear addresses in the kernel's page directory
kernel/arch/cpu.h
kernel/arch/entry.S
kernel/arch/task.S
kernel/core/process.c