mirror of
https://github.com/wichtounet/thor-os.git
synced 2025-09-19 01:25:05 -04:00
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:
parent
ca1a2fdcc2
commit
b3f1b9bbcc
@ -12,8 +12,6 @@
|
|||||||
.macro create_irq number
|
.macro create_irq number
|
||||||
.global _irq\number
|
.global _irq\number
|
||||||
_irq\number:
|
_irq\number:
|
||||||
cli
|
|
||||||
|
|
||||||
push rax
|
push rax
|
||||||
push \number
|
push \number
|
||||||
|
|
||||||
|
@ -12,8 +12,6 @@
|
|||||||
.macro create_irq number
|
.macro create_irq number
|
||||||
.global _isr\number
|
.global _isr\number
|
||||||
_isr\number:
|
_isr\number:
|
||||||
cli
|
|
||||||
|
|
||||||
push \number
|
push \number
|
||||||
|
|
||||||
jmp isr_common_handler
|
jmp isr_common_handler
|
||||||
|
@ -14,7 +14,9 @@
|
|||||||
.macro create_syscall number
|
.macro create_syscall number
|
||||||
.global _syscall\number
|
.global _syscall\number
|
||||||
_syscall\number:
|
_syscall\number:
|
||||||
cli
|
//Interrupts are disabled on interrupt gate,
|
||||||
|
//so they must reenabled again
|
||||||
|
sti
|
||||||
|
|
||||||
push rax
|
push rax
|
||||||
push \number
|
push \number
|
||||||
|
Loading…
x
Reference in New Issue
Block a user