[−][src]Struct x86_64_xsave::ExtendedStateInformation
Extended state information, as defined in Section 13.2 of the Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 1 (Basic Architecture).
Fields
xsave_area_size_supported_features: usize
Maximum size (in bytes) of an XSAVE
area if all supported features in the processor are set as feature bits in the XCR0
register.
To access the XCR0
register use the struct StateComponentBitmap
.
xsave_area_size_enabled_features: usize
Maximum size (in bytes) of an XSAVE
area required by the feature bits enabled in the XCR0
register.
May be less than xsave_area_size_supported_features
if compaction is used.
xsaves_area_size_enabled_features: usize
Maximum size (in bytes) of an XSAVE
area saved by the XSAVES
instruction required by the feature bits enabled in the XCR0
and IA32_XSS
MCR
registers.
May be less than xsave_area_size_supported_features
if compaction is used.
To access the XCR0
register use the struct StateComponentBitmap
.
has_xsaveopt_feature: bool
Has the XSAVEOPT
instruction (xsaveopt
feature).
has_xsavec_feature: bool
Has XSAVE
compaction extensions (xsavec
feature):-
- The compacted format of the extended region of
XSAVE
areas; - Has the
XSAVEC
instruction; - Execution of the compacted form of
XRSTOR
.
xgetbv_supports_ecx_equals_one: bool
The XGETBV
instruction supports execution with XGETBV == 1
.
has_xsaves_feature: bool
Has XSAVE
supervisor extensions (xsaves
feature):-
- Has the
XSAVES
instruction; - Has the
XRSTORS
instruction; - Has the
IA32_XSS
MSR
.
If this is true
then has_xsavec_feature
is also true
.
Methods
impl ExtendedStateInformation
[src]
pub fn user_state_component_possible(
&self,
user_state_component: UserStateComponent
) -> bool
[src]
&self,
user_state_component: UserStateComponent
) -> bool
Is an user state component present?
pub fn supervisor_state_component_possible(
&self,
supervisor_state_component: SupervisorStateComponent
) -> bool
[src]
&self,
supervisor_state_component: SupervisorStateComponent
) -> bool
Is a supervisor state component present?
pub fn new() -> Option<Self>
[src]
Creates a new instance.
Returns None
if unsupported by the CPU.
Trait Implementations
impl PartialEq<ExtendedStateInformation> for ExtendedStateInformation
[src]
fn eq(&self, other: &ExtendedStateInformation) -> bool
[src]
fn ne(&self, other: &ExtendedStateInformation) -> bool
[src]
impl Eq for ExtendedStateInformation
[src]
impl PartialOrd<ExtendedStateInformation> for ExtendedStateInformation
[src]
fn partial_cmp(&self, other: &ExtendedStateInformation) -> Option<Ordering>
[src]
fn lt(&self, other: &ExtendedStateInformation) -> bool
[src]
fn le(&self, other: &ExtendedStateInformation) -> bool
[src]
fn gt(&self, other: &ExtendedStateInformation) -> bool
[src]
fn ge(&self, other: &ExtendedStateInformation) -> bool
[src]
impl Ord for ExtendedStateInformation
[src]
fn cmp(&self, other: &ExtendedStateInformation) -> Ordering
[src]
fn max(self, other: Self) -> Self
1.21.0[src]
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
Compares and returns the minimum of two values. Read more
impl Clone for ExtendedStateInformation
[src]
fn clone(&self) -> ExtendedStateInformation
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Copy for ExtendedStateInformation
[src]
impl Debug for ExtendedStateInformation
[src]
Auto Trait Implementations
impl Send for ExtendedStateInformation
impl Sync for ExtendedStateInformation
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T> From for T
[src]
impl<T, U> TryFrom 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> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,