Skip to main content

Efer

pub struct Efer;
Expand description

The Extended Feature Enable Register.

Implementations§

§

impl Efer

pub const MSR: Msr

The underlying model specific register.

§

impl Efer

pub fn read() -> EferFlags

Read the current EFER flags.

pub fn read_raw() -> u64

Read the current raw EFER flags.

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.

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.

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.

Trait Implementations§

§

impl Debug for Efer

§

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

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 UnsafeUnpin 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
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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.