pub struct LocalApicSet { /* private fields */ }
Expand description
The interface to the local APIC for all processors.
Implementations§
Source§impl LocalApicSet
impl LocalApicSet
Sourcepub fn builder() -> LocalApicSetBuilder
pub fn builder() -> LocalApicSetBuilder
Creates a new builder for a local APIC set.
Sourcepub fn add_apic(&self, vp: &X86VpInfo) -> LocalApic
pub fn add_apic(&self, vp: &X86VpInfo) -> LocalApic
Adds an APIC for the specified VP to the set.
Sourcepub fn request_interrupt(
&self,
address: u64,
data: u32,
wake: impl FnMut(VpIndex),
)
pub fn request_interrupt( &self, address: u64, data: u32, wake: impl FnMut(VpIndex), )
Requests a message-signaled interrupt.
Calls wake
for each processor that should be woken up for APIC
handling.
Sourcepub fn lint(
&self,
vp_index: VpIndex,
lint_index: usize,
wake: impl FnOnce(VpIndex),
)
pub fn lint( &self, vp_index: VpIndex, lint_index: usize, wake: impl FnOnce(VpIndex), )
Pulses the specified LINT.
Typically LINT0 is programmed by the guest for EXTINT interrupts and LINT1 is programmed for NMIs.
Sourcepub fn synic_interrupt(
&self,
vp_index: VpIndex,
vector: u8,
auto_eoi: bool,
wake: impl FnOnce(VpIndex),
)
pub fn synic_interrupt( &self, vp_index: VpIndex, vector: u8, auto_eoi: bool, wake: impl FnOnce(VpIndex), )
Asserts a synic interrupt to the specified virtual processor, optionally with auto EOI (meaning the corresponding ISR bit will not be set when the interrupt is delivered).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LocalApicSet
impl !RefUnwindSafe for LocalApicSet
impl Send for LocalApicSet
impl Sync for LocalApicSet
impl Unpin for LocalApicSet
impl !UnwindSafe for LocalApicSet
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more