x86_64::registers::model_specific

Struct Efer

Source
pub struct Efer;
Expand description

The Extended Feature Enable Register.

Implementations§

Source§

impl Efer

Source

pub fn read() -> EferFlags

Read the current EFER flags.

Source

pub fn read_raw() -> u64

Read the current raw EFER flags.

Source

pub unsafe fn write(flags: EferFlags)

Write the EFER flags, preserving reserved values.

Preserves the value of reserved fields.

§Safety

Unsafe because it’s possible to break memory safety with wrong flags, e.g. by disabling long mode.

Source

pub unsafe fn write_raw(flags: u64)

Write the EFER flags.

Does not preserve any bits, including reserved fields.

§Safety

Unsafe because it’s possible to break memory safety with wrong flags, e.g. by disabling long mode.

Source

pub unsafe fn update<F>(f: F)
where F: FnOnce(&mut EferFlags),

Update EFER flags.

Preserves the value of reserved fields.

§Safety

Unsafe because it’s possible to break memory safety with wrong flags, e.g. by disabling long mode.

Source§

impl Efer

Source

pub const MSR: Msr = _

The underlying model specific register.

Trait Implementations§

Source§

impl Debug for Efer

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Efer

§

impl RefUnwindSafe for Efer

§

impl Send for Efer

§

impl Sync for Efer

§

impl Unpin for Efer

§

impl UnwindSafe for Efer

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