Interrupt handling

Intel interrupt gates are automatically disabling the interrupts.
So it is not necessary to disable them on IRQs and ISRs, but it is
necessary to enable them in system calls
This commit is contained in:
Baptiste Wicht 2014-04-02 22:46:24 +02:00
parent ca1a2fdcc2
commit b3f1b9bbcc
3 changed files with 3 additions and 5 deletions

View File

@ -12,8 +12,6 @@
.macro create_irq number
.global _irq\number
_irq\number:
cli
push rax
push \number

View File

@ -12,8 +12,6 @@
.macro create_irq number
.global _isr\number
_isr\number:
cli
push \number
jmp isr_common_handler

View File

@ -14,7 +14,9 @@
.macro create_syscall number
.global _syscall\number
_syscall\number:
cli
//Interrupts are disabled on interrupt gate,
//so they must reenabled again
sti
push rax
push \number