Function interrupt_controller::init
source · pub fn init(kernel_mmi: &MmiRef) -> Result<(), &'static str>
Expand description
Initializes the interrupt controller(s) on this system.
Depending on the architecture, this includes both the system-wide interrupt controller(s) and one or more local (per-CPU) interrupt controllers.
- On x86_64 systems, this initializes the I/O APIC(s) (there may be more than one)
as the system-wide interrupt controller(s), and the Local APIC for the BSP
(bootstrap processor) only as the first local interrupt controller.
- Other Local APICs are initialized by those CPUs when they are brought online.
- On aarch64 systems with GIC, this initializes both the system-wide interrupt controller (the GIC Distributor) as well as the local controllers for all CPUs (their Redistributors and CPU interfaces).