Enum ApicId

Source
pub enum ApicId {
    XApic(u8),
    X2Apic(u32),
}
Expand description

Encodes the id of a core.

Variants§

§

XApic(u8)

A core destination encoded as an xAPIC ID.

§

X2Apic(u32)

A core destination encoded as an x2APIC ID.

Implementations§

Source§

impl ApicId

Source

pub fn x2apic_logical_id(&self) -> u32

Returns the Logical x2APIC ID.

In x2APIC mode, the 32-bit logical x2APIC ID, which can be read from LDR, is derived from the 32-bit local x2APIC ID: Logical x2APIC ID = [(x2APIC ID[19:4] « 16) | (1 « x2APIC ID[3:0])]

Source

pub fn x2apic_logical_cluster_address(&self) -> u32

Returns the logical address relative to a cluster for a given APIC ID (assuming x2APIC addressing).

Source

pub fn x2apic_logical_cluster_id(&self) -> u32

Returns the cluster ID a given APIC ID belongs to (assuming x2APIC addressing).

Trait Implementations§

Source§

impl Clone for ApicId

Source§

fn clone(&self) -> ApicId

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ApicId

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Into<usize> for ApicId

Source§

fn into(self) -> usize

Converts this type into the (usually inferred) input type.
Source§

impl PartialEq for ApicId

Source§

fn eq(&self, other: &ApicId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for ApicId

Source§

impl Eq for ApicId

Source§

impl StructuralPartialEq for ApicId

Auto Trait Implementations§

§

impl Freeze for ApicId

§

impl RefUnwindSafe for ApicId

§

impl Send for ApicId

§

impl Sync for ApicId

§

impl Unpin for ApicId

§

impl UnwindSafe for ApicId

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.