x86_64::registers::control

Struct Cr4

Source
pub struct Cr4;
Expand description

Contains various control flags that enable architectural extensions, and indicate support for specific processor capabilities.

Implementations§

Source§

impl Cr4

Source

pub fn read() -> Cr4Flags

Read the current set of CR4 flags.

Source

pub fn read_raw() -> u64

Read the current raw CR4 value.

Source

pub unsafe fn write(flags: Cr4Flags)

Write CR4 flags.

Preserves the value of reserved fields.

§Safety

This function is unsafe because it’s possible to violate memory safety through it, e.g. by overwriting the physical address extension flag.

Source

pub unsafe fn write_raw(value: u64)

Write raw CR4 flags.

Does not preserve any values, including reserved fields.

§Safety

This function is unsafe because it’s possible to violate memory safety through it, e.g. by overwriting the physical address extension flag.

Source

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

Updates CR4 flags.

Preserves the value of reserved fields.

§Safety

This function is unsafe because it’s possible to violate memory safety through it, e.g. by overwriting the physical address extension flag.

Trait Implementations§

Source§

impl Debug for Cr4

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Cr4

§

impl RefUnwindSafe for Cr4

§

impl Send for Cr4

§

impl Sync for Cr4

§

impl Unpin for Cr4

§

impl UnwindSafe for Cr4

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.