[]Struct x86_64::registers::control::Cr0Flags

pub struct Cr0Flags { /* fields omitted */ }

Configuration flags of the Cr0 register.

Methods

impl Cr0Flags

pub const PROTECTED_MODE_ENABLE: Cr0Flags

Enables protected mode.

pub const MONITOR_COPROCESSOR: Cr0Flags

Enables monitoring of the coprocessor, typical for x87 instructions.

Controls together with the TASK_SWITCHED flag whether a wait or fwait instruction should cause a device-not-available exception.

pub const EMULATE_COPROCESSOR: Cr0Flags

Force all x87 and MMX instructions to cause an exception.

pub const TASK_SWITCHED: Cr0Flags

Automatically set to 1 on hardware task switch.

This flags allows lazily saving x87/MMX/SSE instructions on hardware context switches.

pub const NUMERIC_ERROR: Cr0Flags

Enables the native error reporting mechanism for x87 FPU errors.

pub const WRITE_PROTECT: Cr0Flags

Controls whether supervisor-level writes to read-only pages are inhibited.

When set, it is not possible to write to read-only pages from ring 0.

pub const ALIGNMENT_MASK: Cr0Flags

Enables automatic alignment checking.

pub const NOT_WRITE_THROUGH: Cr0Flags

Ignored. Used to control write-back/write-through cache strategy on older CPUs.

pub const CACHE_DISABLE: Cr0Flags

Disables internal caches (only for some cases).

pub const PAGING: Cr0Flags

Enables page translation.

pub const fn empty() -> Cr0Flags

Returns an empty set of flags

pub const fn all() -> Cr0Flags

Returns the set containing all flags.

pub const fn bits(&self) -> u64

Returns the raw value of the flags currently stored.

pub fn from_bits(bits: u64) -> Option<Cr0Flags>

Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.

pub const fn from_bits_truncate(bits: u64) -> Cr0Flags

Convert from underlying bit representation, dropping any bits that do not correspond to flags.

pub const unsafe fn from_bits_unchecked(bits: u64) -> Cr0Flags

Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).

pub const fn is_empty(&self) -> bool

Returns true if no flags are currently stored.

pub const fn is_all(&self) -> bool

Returns true if all flags are currently set.

pub const fn intersects(&self, other: Cr0Flags) -> bool

Returns true if there are flags common to both self and other.

pub const fn contains(&self, other: Cr0Flags) -> bool

Returns true all of the flags in other are contained within self.

pub fn insert(&mut self, other: Cr0Flags)

Inserts the specified flags in-place.

pub fn remove(&mut self, other: Cr0Flags)

Removes the specified flags in-place.

pub fn toggle(&mut self, other: Cr0Flags)

Toggles the specified flags in-place.

pub fn set(&mut self, other: Cr0Flags, value: bool)

Inserts or removes the specified flags depending on the passed value.

Trait Implementations

impl Debug for Cr0Flags

impl Sub<Cr0Flags> for Cr0Flags

type Output = Cr0Flags

The resulting type after applying the - operator.

fn sub(self, other: Cr0Flags) -> Cr0Flags

Returns the set difference of the two sets of flags.

impl PartialEq<Cr0Flags> for Cr0Flags

impl Eq for Cr0Flags

impl Ord for Cr0Flags

impl PartialOrd<Cr0Flags> for Cr0Flags

impl SubAssign<Cr0Flags> for Cr0Flags

fn sub_assign(&mut self, other: Cr0Flags)

Disables all flags enabled in the set.

impl Not for Cr0Flags

type Output = Cr0Flags

The resulting type after applying the ! operator.

fn not(self) -> Cr0Flags

Returns the complement of this set of flags.

impl BitAnd<Cr0Flags> for Cr0Flags

type Output = Cr0Flags

The resulting type after applying the & operator.

fn bitand(self, other: Cr0Flags) -> Cr0Flags

Returns the intersection between the two sets of flags.

impl BitOr<Cr0Flags> for Cr0Flags

type Output = Cr0Flags

The resulting type after applying the | operator.

fn bitor(self, other: Cr0Flags) -> Cr0Flags

Returns the union of the two sets of flags.

impl BitXor<Cr0Flags> for Cr0Flags

type Output = Cr0Flags

The resulting type after applying the ^ operator.

fn bitxor(self, other: Cr0Flags) -> Cr0Flags

Returns the left flags, but with all the right flags toggled.

impl BitAndAssign<Cr0Flags> for Cr0Flags

fn bitand_assign(&mut self, other: Cr0Flags)

Disables all flags disabled in the set.

impl BitOrAssign<Cr0Flags> for Cr0Flags

fn bitor_assign(&mut self, other: Cr0Flags)

Adds the set of flags.

impl BitXorAssign<Cr0Flags> for Cr0Flags

fn bitxor_assign(&mut self, other: Cr0Flags)

Toggles the set of flags.

impl Hash for Cr0Flags

impl Copy for Cr0Flags

impl StructuralPartialEq for Cr0Flags

impl StructuralEq for Cr0Flags

impl FromIterator<Cr0Flags> for Cr0Flags

impl Extend<Cr0Flags> for Cr0Flags

impl Octal for Cr0Flags

impl Binary for Cr0Flags

impl LowerHex for Cr0Flags

impl UpperHex for Cr0Flags

impl Clone for Cr0Flags

Auto Trait Implementations

impl Unpin for Cr0Flags

impl Send for Cr0Flags

impl Sync for Cr0Flags

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = !

The type returned in the event of a conversion error.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]