Struct x86_64::registers::control::Cr0

source ·
pub struct Cr0;
Expand description

Various control flags modifying the basic operation of the CPU.

Implementations§

source§

impl Cr0

source

pub fn read() -> Cr0Flags

Available on crate feature instructions only.

Read the current set of CR0 flags.

source

pub fn read_raw() -> u64

Available on crate feature instructions only.

Read the current raw CR0 value.

source

pub unsafe fn write(flags: Cr0Flags)

Available on crate feature instructions only.

Write CR0 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 disabling paging.

source

pub unsafe fn write_raw(value: u64)

Available on crate feature instructions only.

Write raw CR0 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 disabling paging.

source

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

Available on crate feature instructions only.

Updates CR0 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 disabling paging.

Trait Implementations§

source§

impl Debug for Cr0

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Cr0

§

impl RefUnwindSafe for Cr0

§

impl Send for Cr0

§

impl Sync for Cr0

§

impl Unpin for Cr0

§

impl UnwindSafe for Cr0

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

§

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

§

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.