Built device interrupts
This commit is contained in:
+6
-6
@@ -113,12 +113,12 @@ TSS/IST is wired up: the handler survived a completely broken stack.
|
||||
|
||||
## What's next (not done here)
|
||||
|
||||
- **Device interrupts**: program the local APIC and IO-APIC, wire a timer and the
|
||||
keyboard onto vectors ≥ 32, and (unlike exceptions) actually *return* from them
|
||||
with `iretq` — which `isr_common` already does.
|
||||
- **The IO-APIC and the keyboard**: the timer (a local-APIC device interrupt) is
|
||||
covered in [device-interrupts.md](device-interrupts.md); external devices like
|
||||
the keyboard also need the IO-APIC to route their lines onto vectors.
|
||||
- **SSE state**: the stubs save general registers but not the vector registers, so
|
||||
recoverable interrupts that return to SSE-using code will need that added. Fine
|
||||
for now, since exceptions here don't return.
|
||||
a returning interrupt whose handler uses SSE will need that added. Fine for now,
|
||||
since our handlers don't.
|
||||
|
||||
With faults now debuggable, the paging work that comes next — where a wrong
|
||||
With faults now debuggable, the paging work that follows — where a wrong
|
||||
page-table entry means an instant #PF — is far less painful.
|
||||
|
||||
Reference in New Issue
Block a user