Trait x86::apic::ApicControl [−][src]
pub trait ApicControl { fn bsp(&self) -> bool; fn id(&self) -> u32; fn logical_id(&self) -> u32; fn version(&self) -> u32; fn eoi(&mut self); fn tsc_enable(&mut self, vector: u8); fn tsc_set(&self, value: u64); unsafe fn ipi_init(&mut self, core: ApicId); unsafe fn ipi_init_deassert(&mut self); unsafe fn ipi_startup(&mut self, core: ApicId, start_page: u8); unsafe fn send_ipi(&mut self, icr: Icr); }
Abstracts common interface of local APIC (x2APIC, xAPIC) hardware devices.
Required methods
fn bsp(&self) -> bool
[src]
Is a bootstrap processor?
fn id(&self) -> u32
[src]
Return APIC ID.
fn logical_id(&self) -> u32
[src]
Returns the logical APIC ID.
fn version(&self) -> u32
[src]
Read APIC version
fn eoi(&mut self)
[src]
End Of Interrupt – Acknowledge interrupt delivery.
fn tsc_enable(&mut self, vector: u8)
[src]
Enable TSC deadline timer.
fn tsc_set(&self, value: u64)
[src]
Set TSC deadline value.
unsafe fn ipi_init(&mut self, core: ApicId)
[src]
unsafe fn ipi_init_deassert(&mut self)
[src]
unsafe fn ipi_startup(&mut self, core: ApicId, start_page: u8)
[src]
unsafe fn send_ipi(&mut self, icr: Icr)
[src]
Implementors
impl ApicControl for X2APIC
[src]
Abstracts common interface of APIC (x2APIC, xAPIC) hardware devices.
fn bsp(&self) -> bool
[src]
Is a bootstrap processor?
fn id(&self) -> u32
[src]
Read local x2APIC ID.
fn logical_id(&self) -> u32
[src]
In x2APIC mode, the 32-bit logical x2APIC ID, can be read from LDR.
fn version(&self) -> u32
[src]
Read APIC version.
fn tsc_enable(&mut self, vector: u8)
[src]
Enable TSC timer
fn tsc_set(&self, value: u64)
[src]
Set tsc deadline.
fn eoi(&mut self)
[src]
End Of Interrupt – Acknowledge interrupt delivery.
unsafe fn ipi_init(&mut self, core: ApicId)
[src]
Send a INIT IPI to a core.
unsafe fn ipi_init_deassert(&mut self)
[src]
Deassert INIT IPI.
unsafe fn ipi_startup(&mut self, core: ApicId, start_page: u8)
[src]
Send a STARTUP IPI to a core.
unsafe fn send_ipi(&mut self, icr: Icr)
[src]
Send a generic IPI.
impl ApicControl for XAPIC
[src]
fn bsp(&self) -> bool
[src]
Is this the bootstrap core?
fn id(&self) -> u32
[src]
Read local APIC ID.
fn logical_id(&self) -> u32
[src]
fn version(&self) -> u32
[src]
Read APIC version
fn eoi(&mut self)
[src]
End Of Interrupt – Acknowledge interrupt delivery.
fn tsc_enable(&mut self, vector: u8)
[src]
Enable TSC timer.
fn tsc_set(&self, value: u64)
[src]
Set TSC deadline value.
unsafe fn ipi_init(&mut self, core: ApicId)
[src]
Send a INIT IPI to a core.
unsafe fn ipi_init_deassert(&mut self)
[src]
Deassert INIT IPI.
unsafe fn ipi_startup(&mut self, core: ApicId, start_page: u8)
[src]
Send a STARTUP IPI to a core.
unsafe fn send_ipi(&mut self, icr: Icr)
[src]
Send a generic IPI.