Built device interrupts

This commit is contained in:
2026-07-03 12:57:40 +01:00
parent c8e89e8115
commit 5ea521d054
12 changed files with 367 additions and 23 deletions
+6 -6
View File
@@ -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.