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]

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.

Loading content...

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 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.

Loading content...