Dynamic Interrupt Routing and I/O Manager Integration #27
Reference in New Issue
Block a user
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?
Currently, hardware interrupts configured via the I/O APIC are statically routed to the Bootstrap Processor (CPU 0). The function HL::Pic::AllocateSystemInterrupt hardcodes the destination to the executing processor's APIC ID. Furthermore, interrupt handlers are registered using static vectors directly into the processor's interrupt dispatch table.
To support true SMP load balancing, interrupt affinity, and dynamic device driver loading, we need to transition from this static routing model to a dynamic, object-oriented interrupt dispatching.
TODO: