[−][src]Struct x86_64::registers::control::Cr4Flags
Controls cache settings for the level 4 page table.
Methods
impl Cr4Flags
[src]
pub const VIRTUAL_8086_MODE_EXTENSIONS: Cr4Flags
[src]
Enables hardware-supported performance enhancements for software running in virtual-8086 mode.
pub const PROTECTED_MODE_VIRTUAL_INTERRUPTS: Cr4Flags
[src]
Enables support for protected-mode virtual interrupts.
pub const TIMESTAMP_DISABLE: Cr4Flags
[src]
When set, only privilege-level 0 can execute the RDTSC or RDTSCP instructions.
pub const DEBUGGING_EXTENSIONS: Cr4Flags
[src]
Enables I/O breakpoint capability and enforces treatment of DR4 and DR5 registers as reserved.
pub const PAGE_SIZE_EXTENSION: Cr4Flags
[src]
Enables the use of 4MB physical frames; ignored in long mode.
pub const PHYSICAL_ADDRESS_EXTENSION: Cr4Flags
[src]
Enables physical address extension and 2MB physical frames; required in long mode.
pub const MACHINE_CHECK_EXCEPTION: Cr4Flags
[src]
Enables the machine-check exception mechanism.
pub const PAGE_GLOBAL: Cr4Flags
[src]
Enables the global-page mechanism, which allows to make page translations global to all processes.
pub const PERFORMANCE_MONITOR_COUNTER: Cr4Flags
[src]
Allows software running at any privilege level to use the RDPMC instruction.
pub const OSFXSR: Cr4Flags
[src]
Enable the use of legacy SSE instructions; allows using FXSAVE/FXRSTOR for saving processor state of 128-bit media instructions.
pub const OSXMMEXCPT_ENABLE: Cr4Flags
[src]
Enables the SIMD floating-point exception (#XF) for handling unmasked 256-bit and 128-bit media floating-point errors.
pub const USER_MODE_INSTRUCTION_PREVENTION: Cr4Flags
[src]
Prevents the execution of the SGDT, SIDT, SLDT, SMSW, and STR instructions by user-mode software.
pub const L5_PAGING: Cr4Flags
[src]
Enables 5-level paging on supported CPUs.
pub const VIRTUAL_MACHINE_EXTENSIONS: Cr4Flags
[src]
Enables VMX insturctions.
pub const SAFER_MODE_EXTENSIONS: Cr4Flags
[src]
Enables SMX instructions.
pub const FSGSBASE: Cr4Flags
[src]
Enables software running in 64-bit mode at any privilege level to read and write the FS.base and GS.base hidden segment register state.
pub const PCID: Cr4Flags
[src]
Enables process-context identifiers (PCIDs).
pub const OSXSAVE: Cr4Flags
[src]
Enables extendet processor state management instructions, including XGETBV and XSAVE.
pub const SUPERVISOR_MODE_EXECUTION_PROTECTION: Cr4Flags
[src]
Prevents the execution of instructions that reside in pages accessible by user-mode software when the processor is in supervisor-mode.
pub const SUPERVISOR_MODE_ACCESS_PREVENTION: Cr4Flags
[src]
Enables restrictions for supervisor-mode software when reading data from user-mode pages.
pub const PROTECTION_KEY: Cr4Flags
[src]
Enables 4-level paging to associate each linear address with a protection key.
pub const fn empty() -> Cr4Flags
[src]
Returns an empty set of flags
pub const fn all() -> Cr4Flags
[src]
Returns the set containing all flags.
pub const fn bits(&self) -> u64
[src]
Returns the raw value of the flags currently stored.
pub fn from_bits(bits: u64) -> Option<Cr4Flags>
[src]
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) -> Cr4Flags
[src]
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
pub const unsafe fn from_bits_unchecked(bits: u64) -> Cr4Flags
[src]
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
pub const fn is_empty(&self) -> bool
[src]
Returns true
if no flags are currently stored.
pub const fn is_all(&self) -> bool
[src]
Returns true
if all flags are currently set.
pub const fn intersects(&self, other: Cr4Flags) -> bool
[src]
Returns true
if there are flags common to both self
and other
.
pub const fn contains(&self, other: Cr4Flags) -> bool
[src]
Returns true
all of the flags in other
are contained within self
.
pub fn insert(&mut self, other: Cr4Flags)
[src]
Inserts the specified flags in-place.
pub fn remove(&mut self, other: Cr4Flags)
[src]
Removes the specified flags in-place.
pub fn toggle(&mut self, other: Cr4Flags)
[src]
Toggles the specified flags in-place.
pub fn set(&mut self, other: Cr4Flags, value: bool)
[src]
Inserts or removes the specified flags depending on the passed value.
Trait Implementations
impl Binary for Cr4Flags
[src]
impl BitAnd<Cr4Flags> for Cr4Flags
[src]
type Output = Cr4Flags
The resulting type after applying the &
operator.
fn bitand(self, other: Cr4Flags) -> Cr4Flags
[src]
Returns the intersection between the two sets of flags.
impl BitAndAssign<Cr4Flags> for Cr4Flags
[src]
fn bitand_assign(&mut self, other: Cr4Flags)
[src]
Disables all flags disabled in the set.
impl BitOr<Cr4Flags> for Cr4Flags
[src]
type Output = Cr4Flags
The resulting type after applying the |
operator.
fn bitor(self, other: Cr4Flags) -> Cr4Flags
[src]
Returns the union of the two sets of flags.
impl BitOrAssign<Cr4Flags> for Cr4Flags
[src]
fn bitor_assign(&mut self, other: Cr4Flags)
[src]
Adds the set of flags.
impl BitXor<Cr4Flags> for Cr4Flags
[src]
type Output = Cr4Flags
The resulting type after applying the ^
operator.
fn bitxor(self, other: Cr4Flags) -> Cr4Flags
[src]
Returns the left flags, but with all the right flags toggled.
impl BitXorAssign<Cr4Flags> for Cr4Flags
[src]
fn bitxor_assign(&mut self, other: Cr4Flags)
[src]
Toggles the set of flags.
impl Clone for Cr4Flags
[src]
fn clone(&self) -> Cr4Flags
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for Cr4Flags
[src]
impl Debug for Cr4Flags
[src]
impl Eq for Cr4Flags
[src]
impl Extend<Cr4Flags> for Cr4Flags
[src]
fn extend<T: IntoIterator<Item = Cr4Flags>>(&mut self, iterator: T)
[src]
impl FromIterator<Cr4Flags> for Cr4Flags
[src]
fn from_iter<T: IntoIterator<Item = Cr4Flags>>(iterator: T) -> Cr4Flags
[src]
impl Hash for Cr4Flags
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl LowerHex for Cr4Flags
[src]
impl Not for Cr4Flags
[src]
type Output = Cr4Flags
The resulting type after applying the !
operator.
fn not(self) -> Cr4Flags
[src]
Returns the complement of this set of flags.
impl Octal for Cr4Flags
[src]
impl Ord for Cr4Flags
[src]
fn cmp(&self, other: &Cr4Flags) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<Cr4Flags> for Cr4Flags
[src]
impl PartialOrd<Cr4Flags> for Cr4Flags
[src]
fn partial_cmp(&self, other: &Cr4Flags) -> Option<Ordering>
[src]
fn lt(&self, other: &Cr4Flags) -> bool
[src]
fn le(&self, other: &Cr4Flags) -> bool
[src]
fn gt(&self, other: &Cr4Flags) -> bool
[src]
fn ge(&self, other: &Cr4Flags) -> bool
[src]
impl StructuralEq for Cr4Flags
[src]
impl StructuralPartialEq for Cr4Flags
[src]
impl Sub<Cr4Flags> for Cr4Flags
[src]
type Output = Cr4Flags
The resulting type after applying the -
operator.
fn sub(self, other: Cr4Flags) -> Cr4Flags
[src]
Returns the set difference of the two sets of flags.
impl SubAssign<Cr4Flags> for Cr4Flags
[src]
fn sub_assign(&mut self, other: Cr4Flags)
[src]
Disables all flags enabled in the set.
impl UpperHex for Cr4Flags
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,