pub struct IoApic { /* private fields */ }Expand description
I/O APIC controller.
The I/O APIC uses indirect register access: write the register index to IOREGSEL, then read/write the value through IOWIN.
Implementations§
Source§impl IoApic
impl IoApic
Sourcepub fn read_register(&self, reg: u32) -> u32
pub fn read_register(&self, reg: u32) -> u32
Read a 32-bit I/O APIC register.
Sourcepub fn write_register(&self, reg: u32, value: u32)
pub fn write_register(&self, reg: u32, value: u32)
Write a 32-bit value to an I/O APIC register.
Sourcepub fn max_redirection_entries(&self) -> u8
pub fn max_redirection_entries(&self) -> u8
Read the maximum number of redirection entries supported by this I/O APIC (from bits 23:16 of the version register, plus one).
Sourcepub fn set_irq_route(&self, irq: u8, vector: u8, dest: u8)
pub fn set_irq_route(&self, irq: u8, vector: u8, dest: u8)
Route an external IRQ to a specific interrupt vector and destination APIC ID with edge-triggered, active-high, fixed delivery mode.
Sourcepub fn unmask_irq(&self, irq: u8)
pub fn unmask_irq(&self, irq: u8)
Unmask an IRQ in the I/O APIC redirection table.