pub trait LocalInterruptControllerApi {
// Required methods
fn id(&self) -> LocalInterruptControllerId;
fn enable_local_timer_interrupt(&self, enable: bool);
fn send_ipi(&self, num: InterruptNumber, dest: InterruptDestination);
fn end_of_interrupt(&self, number: InterruptNumber);
}
Expand description
Functionality provided by local interrupt controllers, which exist on a per-CPU basis.
- On x86_64, this corresponds to a Local APIC.
- On aarch64 (with GIC), this corresponds to the GIC Redistributor + CPU interface.
Required Methods§
sourcefn id(&self) -> LocalInterruptControllerId
fn id(&self) -> LocalInterruptControllerId
Returns the unique ID of this local interrupt controller.
sourcefn enable_local_timer_interrupt(&self, enable: bool)
fn enable_local_timer_interrupt(&self, enable: bool)
Enables or disables the local timer interrupt for this local interrupt controller.
sourcefn send_ipi(&self, num: InterruptNumber, dest: InterruptDestination)
fn send_ipi(&self, num: InterruptNumber, dest: InterruptDestination)
Sends an inter-processor interrupt from this local interrupt controller to the given destination.
sourcefn end_of_interrupt(&self, number: InterruptNumber)
fn end_of_interrupt(&self, number: InterruptNumber)
Tells this local interrupt controller that the interrupt being currently serviced has been completely handled.