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§

source

fn id(&self) -> LocalInterruptControllerId

Returns the unique ID of this local interrupt controller.

source

fn enable_local_timer_interrupt(&self, enable: bool)

Enables or disables the local timer interrupt for this local interrupt controller.

source

fn send_ipi(&self, num: InterruptNumber, dest: InterruptDestination)

Sends an inter-processor interrupt from this local interrupt controller to the given destination.

source

fn end_of_interrupt(&self, number: InterruptNumber)

Tells this local interrupt controller that the interrupt being currently serviced has been completely handled.

Implementors§