kernel: Interrupts are disabled while in system calls #32
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: apio/Luna#32
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
In x86_64's IDT.cpp, IDT_TA_TrapGate and IDT_TA_InterruptGate are used wrongly. Interrupt gates are called with interrupts disabled, trap gates are not. Thus, syscalls should have a new IDT_TA_UserCallableTrapGate value. IRQs should probably be configurable. Exceptions should stay this way (interrupts enabled on entry, as per the OSDev wiki.
kernel: Interrupts are disabled while in system calls and enabled in exceptionsto kernel: Interrupts are disabled while in system callsI'm pretty sure this is intended behaviour.