Struct tartan_arch::x86_common::features::BasicFeatures
source · pub struct BasicFeatures(/* private fields */);
Expand description
Primary feature list returned in CPUID.01H:ECX+EDX
.
Implementations§
source§impl BasicFeatures
impl BasicFeatures
sourcepub fn on_chip_fpu(&self) -> bool
pub fn on_chip_fpu(&self) -> bool
FPU
: The processor has a built-in x87 floating-point unit
sourcepub fn virtual_8086_extensions(&self) -> bool
pub fn virtual_8086_extensions(&self) -> bool
VME
: Supports virtual real-mode extensions (VME) and protected-mode virtual
interrupts.
sourcepub fn debugging_extensions(&self) -> bool
pub fn debugging_extensions(&self) -> bool
DE
: Supports breaking on I/O and on accessing debug registers DR4
–DR5
.
sourcepub fn page_size_extension(&self) -> bool
pub fn page_size_extension(&self) -> bool
PSE
: Supports 4MB virtual memory pages and the dirty flag.
sourcepub fn time_stamp_counter(&self) -> bool
pub fn time_stamp_counter(&self) -> bool
TSC
: Supports reading the processor’s timestamp with RDTSC
.
sourcepub fn model_registers(&self) -> bool
pub fn model_registers(&self) -> bool
MSR
: Has model-specific registers which can be accessed with
RDMSR
/WRMSR
.
sourcepub fn physical_address_extension(&self) -> bool
pub fn physical_address_extension(&self) -> bool
PAE
: Supports mapping virtual memory to physical addresses longer than 32
bits.
sourcepub fn machine_check_exception(&self) -> bool
pub fn machine_check_exception(&self) -> bool
MCE
: Defines an exception (18) for reporting internal processor errors.
sourcepub fn compare_exchange_64bit(&self) -> bool
pub fn compare_exchange_64bit(&self) -> bool
CX8
: Supports the 64-byte CMPXCHG8B
atomic instruction.
sourcepub fn on_chip_apic(&self) -> bool
pub fn on_chip_apic(&self) -> bool
APIC
: The processor has a built-in advanced programmable interrupt
controller (APIC).
sourcepub fn memory_type_range_registers(&self) -> bool
pub fn memory_type_range_registers(&self) -> bool
MTRR
: Has memory type range registers.
sourcepub fn global_pages(&self) -> bool
pub fn global_pages(&self) -> bool
PGE
: Supports global pages, which are available in all task contexts
sourcepub fn machine_check_architecture(&self) -> bool
pub fn machine_check_architecture(&self) -> bool
MCA
: Supports extended features for reporting internal processor errors.
sourcepub fn conditional_move(&self) -> bool
pub fn conditional_move(&self) -> bool
CMOV
: Supports the CMOV
instruction and FCMOV
/FCOMI
if FPU is present.
sourcepub fn page_attribute_table(&self) -> bool
pub fn page_attribute_table(&self) -> bool
PAT
: Supports page attribute tables.
sourcepub fn page_size_extension_36bit(&self) -> bool
pub fn page_size_extension_36bit(&self) -> bool
PSE-36
: Supports 4MB virtual memory pages that can map to physical addresses
longer than 32 bits.
sourcepub fn serial_number(&self) -> bool
pub fn serial_number(&self) -> bool
PSN
: Supports retrieving a processor serial number with the CPUID
instruction.
sourcepub fn cache_line_flush(&self) -> bool
pub fn cache_line_flush(&self) -> bool
CLFSH
: Supports flushing a cache line with the CLFLUSH
instruction.
sourcepub fn debug_store(&self) -> bool
pub fn debug_store(&self) -> bool
DS
: Supports writing debug information to memory.
sourcepub fn thermal_power_management(&self) -> bool
pub fn thermal_power_management(&self) -> bool
ACPI
: Supports thermal monitoring and power management with software.
sourcepub fn self_snoop(&self) -> bool
pub fn self_snoop(&self) -> bool
The processor can snoop on its own cache line. This helps deal with certain memory issues.
sourcepub fn max_apic_id_field(&self) -> bool
pub fn max_apic_id_field(&self) -> bool
HTT
: Indicates that the number of reserved APIC IDs is available with the
CPUID instruction. If clear, only one ID is reserved.
sourcepub fn thermal_monitor(&self) -> bool
pub fn thermal_monitor(&self) -> bool
TM
: Has thermal monitor control circuitry (TCC).
sourcepub fn pending_break_enable(&self) -> bool
pub fn pending_break_enable(&self) -> bool
PBE
: Supports a pin notifying a stopped processor that an interrupt is
pending.
sourcepub fn carryless_multiply_64bit(&self) -> bool
pub fn carryless_multiply_64bit(&self) -> bool
Supports carry-less multiplication of two 64-bit integers using the
PCLMULQDQ
instruction.
sourcepub fn debug_store_64bit(&self) -> bool
pub fn debug_store_64bit(&self) -> bool
DTES64
: Supports 64-bit addresses for the debug store.
sourcepub fn permission_qualified_debug_store(&self) -> bool
pub fn permission_qualified_debug_store(&self) -> bool
DS-CPL
: Supports saving the permission level with data written to the debug
store.
sourcepub fn virtual_machine_extensions(&self) -> bool
pub fn virtual_machine_extensions(&self) -> bool
VMX
: Supports virtual machine extensions.
sourcepub fn safer_mode_extensions(&self) -> bool
pub fn safer_mode_extensions(&self) -> bool
SMX
: Supports safer-mode extensions
sourcepub fn enhanced_speedstep(&self) -> bool
pub fn enhanced_speedstep(&self) -> bool
EIST
: Supports enhanced SpeedStep throttling.
sourcepub fn thermal_monitor_2(&self) -> bool
pub fn thermal_monitor_2(&self) -> bool
Supports the TM2 thermal monitor interface.
sourcepub fn supplemental_sse_3(&self) -> bool
pub fn supplemental_sse_3(&self) -> bool
SSSE3
: Supports Supplemental SSE3 (SSSE3) instructions.
sourcepub fn l1_context_id(&self) -> bool
pub fn l1_context_id(&self) -> bool
CNXT-ID
: Supports setting the L1 cache to adaptive or shared mode.
sourcepub fn debug_interface_model_register(&self) -> bool
pub fn debug_interface_model_register(&self) -> bool
SDBG
: Supports an MSR for chip debugging.
sourcepub fn fused_multiply_add(&self) -> bool
pub fn fused_multiply_add(&self) -> bool
FMA
: Supports fused multiply-add SSE instructions.
sourcepub fn compare_exchange_128bit(&self) -> bool
pub fn compare_exchange_128bit(&self) -> bool
CMPXCHG16B
: Supports the 128-bit CMPXCHG16B
atomic instruction.
sourcepub fn chipset_task_priority_control(&self) -> bool
pub fn chipset_task_priority_control(&self) -> bool
Supports disabling xTPR task priority messages to the chipset through
IA32_MISC_ENABLE[23]
.
sourcepub fn monitor_debug_capabilities_register(&self) -> bool
pub fn monitor_debug_capabilities_register(&self) -> bool
PDCM
: Supports a model-specific register that lists performance-monitoring
and debug features.
sourcepub fn process_context_ids(&self) -> bool
pub fn process_context_ids(&self) -> bool
PCID
: Supports process-context IDs.
sourcepub fn memory_mapped_prefetch(&self) -> bool
pub fn memory_mapped_prefetch(&self) -> bool
DCA
: Supports prefetching memory-mapped data from a device.
sourcepub fn byte_swap_move(&self) -> bool
pub fn byte_swap_move(&self) -> bool
Supports byte swapping with the MOVBE
instruction.
sourcepub fn count_bits(&self) -> bool
pub fn count_bits(&self) -> bool
Supports counting the set bits in a value with the POPCNT
instruction.
sourcepub fn apic_timestamp_deadline(&self) -> bool
pub fn apic_timestamp_deadline(&self) -> bool
TSC-Deadline
: Supports one-shot interrupts with the APIC using the timestamp
counter.
sourcepub fn extended_state_save(&self) -> bool
pub fn extended_state_save(&self) -> bool
XSAVE
: Supports instructions for saving and restoring extended processor
state (FPU/MMX/SSE/AVX).
sourcepub fn extended_state_save_enabled(&self) -> bool
pub fn extended_state_save_enabled(&self) -> bool
OSXSAVE
: Reflects the value of [ControlRegister4::extended_state_save
],
indicating that the OS has enabled the XSAVE
feature.
sourcepub fn float_16_conversion(&self) -> bool
pub fn float_16_conversion(&self) -> bool
F16C
: Supports conversion instructions for 16-bit floats.
sourcepub fn set_on_chip_fpu(&mut self, value: bool)
pub fn set_on_chip_fpu(&mut self, value: bool)
FPU
: The processor has a built-in x87 floating-point unit
sourcepub fn with_on_chip_fpu(&mut self, value: bool) -> Self
pub fn with_on_chip_fpu(&mut self, value: bool) -> Self
FPU
: The processor has a built-in x87 floating-point unit
sourcepub fn set_virtual_8086_extensions(&mut self, value: bool)
pub fn set_virtual_8086_extensions(&mut self, value: bool)
VME
: Supports virtual real-mode extensions (VME) and protected-mode virtual
interrupts.
sourcepub fn with_virtual_8086_extensions(&mut self, value: bool) -> Self
pub fn with_virtual_8086_extensions(&mut self, value: bool) -> Self
VME
: Supports virtual real-mode extensions (VME) and protected-mode virtual
interrupts.
sourcepub fn set_debugging_extensions(&mut self, value: bool)
pub fn set_debugging_extensions(&mut self, value: bool)
DE
: Supports breaking on I/O and on accessing debug registers DR4
–DR5
.
sourcepub fn with_debugging_extensions(&mut self, value: bool) -> Self
pub fn with_debugging_extensions(&mut self, value: bool) -> Self
DE
: Supports breaking on I/O and on accessing debug registers DR4
–DR5
.
sourcepub fn set_page_size_extension(&mut self, value: bool)
pub fn set_page_size_extension(&mut self, value: bool)
PSE
: Supports 4MB virtual memory pages and the dirty flag.
sourcepub fn with_page_size_extension(&mut self, value: bool) -> Self
pub fn with_page_size_extension(&mut self, value: bool) -> Self
PSE
: Supports 4MB virtual memory pages and the dirty flag.
sourcepub fn set_time_stamp_counter(&mut self, value: bool)
pub fn set_time_stamp_counter(&mut self, value: bool)
TSC
: Supports reading the processor’s timestamp with RDTSC
.
sourcepub fn with_time_stamp_counter(&mut self, value: bool) -> Self
pub fn with_time_stamp_counter(&mut self, value: bool) -> Self
TSC
: Supports reading the processor’s timestamp with RDTSC
.
sourcepub fn set_model_registers(&mut self, value: bool)
pub fn set_model_registers(&mut self, value: bool)
MSR
: Has model-specific registers which can be accessed with
RDMSR
/WRMSR
.
sourcepub fn with_model_registers(&mut self, value: bool) -> Self
pub fn with_model_registers(&mut self, value: bool) -> Self
MSR
: Has model-specific registers which can be accessed with
RDMSR
/WRMSR
.
sourcepub fn set_physical_address_extension(&mut self, value: bool)
pub fn set_physical_address_extension(&mut self, value: bool)
PAE
: Supports mapping virtual memory to physical addresses longer than 32
bits.
sourcepub fn with_physical_address_extension(&mut self, value: bool) -> Self
pub fn with_physical_address_extension(&mut self, value: bool) -> Self
PAE
: Supports mapping virtual memory to physical addresses longer than 32
bits.
sourcepub fn set_machine_check_exception(&mut self, value: bool)
pub fn set_machine_check_exception(&mut self, value: bool)
MCE
: Defines an exception (18) for reporting internal processor errors.
sourcepub fn with_machine_check_exception(&mut self, value: bool) -> Self
pub fn with_machine_check_exception(&mut self, value: bool) -> Self
MCE
: Defines an exception (18) for reporting internal processor errors.
sourcepub fn set_compare_exchange_64bit(&mut self, value: bool)
pub fn set_compare_exchange_64bit(&mut self, value: bool)
CX8
: Supports the 64-byte CMPXCHG8B
atomic instruction.
sourcepub fn with_compare_exchange_64bit(&mut self, value: bool) -> Self
pub fn with_compare_exchange_64bit(&mut self, value: bool) -> Self
CX8
: Supports the 64-byte CMPXCHG8B
atomic instruction.
sourcepub fn set_on_chip_apic(&mut self, value: bool)
pub fn set_on_chip_apic(&mut self, value: bool)
APIC
: The processor has a built-in advanced programmable interrupt
controller (APIC).
sourcepub fn with_on_chip_apic(&mut self, value: bool) -> Self
pub fn with_on_chip_apic(&mut self, value: bool) -> Self
APIC
: The processor has a built-in advanced programmable interrupt
controller (APIC).
sourcepub fn set_sysenter(&mut self, value: bool)
pub fn set_sysenter(&mut self, value: bool)
SEP
: Supports the SYSENTER
/SYSEXIT
instructions.
sourcepub fn with_sysenter(&mut self, value: bool) -> Self
pub fn with_sysenter(&mut self, value: bool) -> Self
SEP
: Supports the SYSENTER
/SYSEXIT
instructions.
sourcepub fn set_memory_type_range_registers(&mut self, value: bool)
pub fn set_memory_type_range_registers(&mut self, value: bool)
MTRR
: Has memory type range registers.
sourcepub fn with_memory_type_range_registers(&mut self, value: bool) -> Self
pub fn with_memory_type_range_registers(&mut self, value: bool) -> Self
MTRR
: Has memory type range registers.
sourcepub fn set_global_pages(&mut self, value: bool)
pub fn set_global_pages(&mut self, value: bool)
PGE
: Supports global pages, which are available in all task contexts
sourcepub fn with_global_pages(&mut self, value: bool) -> Self
pub fn with_global_pages(&mut self, value: bool) -> Self
PGE
: Supports global pages, which are available in all task contexts
sourcepub fn set_machine_check_architecture(&mut self, value: bool)
pub fn set_machine_check_architecture(&mut self, value: bool)
MCA
: Supports extended features for reporting internal processor errors.
sourcepub fn with_machine_check_architecture(&mut self, value: bool) -> Self
pub fn with_machine_check_architecture(&mut self, value: bool) -> Self
MCA
: Supports extended features for reporting internal processor errors.
sourcepub fn set_conditional_move(&mut self, value: bool)
pub fn set_conditional_move(&mut self, value: bool)
CMOV
: Supports the CMOV
instruction and FCMOV
/FCOMI
if FPU is present.
sourcepub fn with_conditional_move(&mut self, value: bool) -> Self
pub fn with_conditional_move(&mut self, value: bool) -> Self
CMOV
: Supports the CMOV
instruction and FCMOV
/FCOMI
if FPU is present.
sourcepub fn set_page_attribute_table(&mut self, value: bool)
pub fn set_page_attribute_table(&mut self, value: bool)
PAT
: Supports page attribute tables.
sourcepub fn with_page_attribute_table(&mut self, value: bool) -> Self
pub fn with_page_attribute_table(&mut self, value: bool) -> Self
PAT
: Supports page attribute tables.
sourcepub fn set_page_size_extension_36bit(&mut self, value: bool)
pub fn set_page_size_extension_36bit(&mut self, value: bool)
PSE-36
: Supports 4MB virtual memory pages that can map to physical addresses
longer than 32 bits.
sourcepub fn with_page_size_extension_36bit(&mut self, value: bool) -> Self
pub fn with_page_size_extension_36bit(&mut self, value: bool) -> Self
PSE-36
: Supports 4MB virtual memory pages that can map to physical addresses
longer than 32 bits.
sourcepub fn set_serial_number(&mut self, value: bool)
pub fn set_serial_number(&mut self, value: bool)
PSN
: Supports retrieving a processor serial number with the CPUID
instruction.
sourcepub fn with_serial_number(&mut self, value: bool) -> Self
pub fn with_serial_number(&mut self, value: bool) -> Self
PSN
: Supports retrieving a processor serial number with the CPUID
instruction.
sourcepub fn set_cache_line_flush(&mut self, value: bool)
pub fn set_cache_line_flush(&mut self, value: bool)
CLFSH
: Supports flushing a cache line with the CLFLUSH
instruction.
sourcepub fn with_cache_line_flush(&mut self, value: bool) -> Self
pub fn with_cache_line_flush(&mut self, value: bool) -> Self
CLFSH
: Supports flushing a cache line with the CLFLUSH
instruction.
sourcepub fn set_debug_store(&mut self, value: bool)
pub fn set_debug_store(&mut self, value: bool)
DS
: Supports writing debug information to memory.
sourcepub fn with_debug_store(&mut self, value: bool) -> Self
pub fn with_debug_store(&mut self, value: bool) -> Self
DS
: Supports writing debug information to memory.
sourcepub fn set_thermal_power_management(&mut self, value: bool)
pub fn set_thermal_power_management(&mut self, value: bool)
ACPI
: Supports thermal monitoring and power management with software.
sourcepub fn with_thermal_power_management(&mut self, value: bool) -> Self
pub fn with_thermal_power_management(&mut self, value: bool) -> Self
ACPI
: Supports thermal monitoring and power management with software.
sourcepub fn set_fpu_save(&mut self, value: bool)
pub fn set_fpu_save(&mut self, value: bool)
FXSAVE
: Supports managing FPU state with FXSAVE
/FXRSTOR
.
sourcepub fn with_fpu_save(&mut self, value: bool) -> Self
pub fn with_fpu_save(&mut self, value: bool) -> Self
FXSAVE
: Supports managing FPU state with FXSAVE
/FXRSTOR
.
sourcepub fn with_sse_2(&mut self, value: bool) -> Self
pub fn with_sse_2(&mut self, value: bool) -> Self
SSE2
: Supports SSE2 instructions.
sourcepub fn set_self_snoop(&mut self, value: bool)
pub fn set_self_snoop(&mut self, value: bool)
The processor can snoop on its own cache line. This helps deal with certain memory issues.
sourcepub fn with_self_snoop(&mut self, value: bool) -> Self
pub fn with_self_snoop(&mut self, value: bool) -> Self
The processor can snoop on its own cache line. This helps deal with certain memory issues.
sourcepub fn set_max_apic_id_field(&mut self, value: bool)
pub fn set_max_apic_id_field(&mut self, value: bool)
HTT
: Indicates that the number of reserved APIC IDs is available with the
CPUID instruction. If clear, only one ID is reserved.
sourcepub fn with_max_apic_id_field(&mut self, value: bool) -> Self
pub fn with_max_apic_id_field(&mut self, value: bool) -> Self
HTT
: Indicates that the number of reserved APIC IDs is available with the
CPUID instruction. If clear, only one ID is reserved.
sourcepub fn set_thermal_monitor(&mut self, value: bool)
pub fn set_thermal_monitor(&mut self, value: bool)
TM
: Has thermal monitor control circuitry (TCC).
sourcepub fn with_thermal_monitor(&mut self, value: bool) -> Self
pub fn with_thermal_monitor(&mut self, value: bool) -> Self
TM
: Has thermal monitor control circuitry (TCC).
sourcepub fn set_pending_break_enable(&mut self, value: bool)
pub fn set_pending_break_enable(&mut self, value: bool)
PBE
: Supports a pin notifying a stopped processor that an interrupt is
pending.
sourcepub fn with_pending_break_enable(&mut self, value: bool) -> Self
pub fn with_pending_break_enable(&mut self, value: bool) -> Self
PBE
: Supports a pin notifying a stopped processor that an interrupt is
pending.
sourcepub fn with_sse_3(&mut self, value: bool) -> Self
pub fn with_sse_3(&mut self, value: bool) -> Self
SSE3
: Supports SSE3 instructions.
sourcepub fn set_carryless_multiply_64bit(&mut self, value: bool)
pub fn set_carryless_multiply_64bit(&mut self, value: bool)
Supports carry-less multiplication of two 64-bit integers using the
PCLMULQDQ
instruction.
sourcepub fn with_carryless_multiply_64bit(&mut self, value: bool) -> Self
pub fn with_carryless_multiply_64bit(&mut self, value: bool) -> Self
Supports carry-less multiplication of two 64-bit integers using the
PCLMULQDQ
instruction.
sourcepub fn set_debug_store_64bit(&mut self, value: bool)
pub fn set_debug_store_64bit(&mut self, value: bool)
DTES64
: Supports 64-bit addresses for the debug store.
sourcepub fn with_debug_store_64bit(&mut self, value: bool) -> Self
pub fn with_debug_store_64bit(&mut self, value: bool) -> Self
DTES64
: Supports 64-bit addresses for the debug store.
sourcepub fn set_monitor(&mut self, value: bool)
pub fn set_monitor(&mut self, value: bool)
MONITOR
: Supports the MONITOR
/MWAIT
instructions.
sourcepub fn with_monitor(&mut self, value: bool) -> Self
pub fn with_monitor(&mut self, value: bool) -> Self
MONITOR
: Supports the MONITOR
/MWAIT
instructions.
sourcepub fn set_permission_qualified_debug_store(&mut self, value: bool)
pub fn set_permission_qualified_debug_store(&mut self, value: bool)
DS-CPL
: Supports saving the permission level with data written to the debug
store.
sourcepub fn with_permission_qualified_debug_store(&mut self, value: bool) -> Self
pub fn with_permission_qualified_debug_store(&mut self, value: bool) -> Self
DS-CPL
: Supports saving the permission level with data written to the debug
store.
sourcepub fn set_virtual_machine_extensions(&mut self, value: bool)
pub fn set_virtual_machine_extensions(&mut self, value: bool)
VMX
: Supports virtual machine extensions.
sourcepub fn with_virtual_machine_extensions(&mut self, value: bool) -> Self
pub fn with_virtual_machine_extensions(&mut self, value: bool) -> Self
VMX
: Supports virtual machine extensions.
sourcepub fn set_safer_mode_extensions(&mut self, value: bool)
pub fn set_safer_mode_extensions(&mut self, value: bool)
SMX
: Supports safer-mode extensions
sourcepub fn with_safer_mode_extensions(&mut self, value: bool) -> Self
pub fn with_safer_mode_extensions(&mut self, value: bool) -> Self
SMX
: Supports safer-mode extensions
sourcepub fn set_enhanced_speedstep(&mut self, value: bool)
pub fn set_enhanced_speedstep(&mut self, value: bool)
EIST
: Supports enhanced SpeedStep throttling.
sourcepub fn with_enhanced_speedstep(&mut self, value: bool) -> Self
pub fn with_enhanced_speedstep(&mut self, value: bool) -> Self
EIST
: Supports enhanced SpeedStep throttling.
sourcepub fn set_thermal_monitor_2(&mut self, value: bool)
pub fn set_thermal_monitor_2(&mut self, value: bool)
Supports the TM2 thermal monitor interface.
sourcepub fn with_thermal_monitor_2(&mut self, value: bool) -> Self
pub fn with_thermal_monitor_2(&mut self, value: bool) -> Self
Supports the TM2 thermal monitor interface.
sourcepub fn set_supplemental_sse_3(&mut self, value: bool)
pub fn set_supplemental_sse_3(&mut self, value: bool)
SSSE3
: Supports Supplemental SSE3 (SSSE3) instructions.
sourcepub fn with_supplemental_sse_3(&mut self, value: bool) -> Self
pub fn with_supplemental_sse_3(&mut self, value: bool) -> Self
SSSE3
: Supports Supplemental SSE3 (SSSE3) instructions.
sourcepub fn set_l1_context_id(&mut self, value: bool)
pub fn set_l1_context_id(&mut self, value: bool)
CNXT-ID
: Supports setting the L1 cache to adaptive or shared mode.
sourcepub fn with_l1_context_id(&mut self, value: bool) -> Self
pub fn with_l1_context_id(&mut self, value: bool) -> Self
CNXT-ID
: Supports setting the L1 cache to adaptive or shared mode.
sourcepub fn set_debug_interface_model_register(&mut self, value: bool)
pub fn set_debug_interface_model_register(&mut self, value: bool)
SDBG
: Supports an MSR for chip debugging.
sourcepub fn with_debug_interface_model_register(&mut self, value: bool) -> Self
pub fn with_debug_interface_model_register(&mut self, value: bool) -> Self
SDBG
: Supports an MSR for chip debugging.
sourcepub fn set_fused_multiply_add(&mut self, value: bool)
pub fn set_fused_multiply_add(&mut self, value: bool)
FMA
: Supports fused multiply-add SSE instructions.
sourcepub fn with_fused_multiply_add(&mut self, value: bool) -> Self
pub fn with_fused_multiply_add(&mut self, value: bool) -> Self
FMA
: Supports fused multiply-add SSE instructions.
sourcepub fn set_compare_exchange_128bit(&mut self, value: bool)
pub fn set_compare_exchange_128bit(&mut self, value: bool)
CMPXCHG16B
: Supports the 128-bit CMPXCHG16B
atomic instruction.
sourcepub fn with_compare_exchange_128bit(&mut self, value: bool) -> Self
pub fn with_compare_exchange_128bit(&mut self, value: bool) -> Self
CMPXCHG16B
: Supports the 128-bit CMPXCHG16B
atomic instruction.
sourcepub fn set_chipset_task_priority_control(&mut self, value: bool)
pub fn set_chipset_task_priority_control(&mut self, value: bool)
Supports disabling xTPR task priority messages to the chipset through
IA32_MISC_ENABLE[23]
.
sourcepub fn with_chipset_task_priority_control(&mut self, value: bool) -> Self
pub fn with_chipset_task_priority_control(&mut self, value: bool) -> Self
Supports disabling xTPR task priority messages to the chipset through
IA32_MISC_ENABLE[23]
.
sourcepub fn set_monitor_debug_capabilities_register(&mut self, value: bool)
pub fn set_monitor_debug_capabilities_register(&mut self, value: bool)
PDCM
: Supports a model-specific register that lists performance-monitoring
and debug features.
sourcepub fn with_monitor_debug_capabilities_register(&mut self, value: bool) -> Self
pub fn with_monitor_debug_capabilities_register(&mut self, value: bool) -> Self
PDCM
: Supports a model-specific register that lists performance-monitoring
and debug features.
sourcepub fn set_process_context_ids(&mut self, value: bool)
pub fn set_process_context_ids(&mut self, value: bool)
PCID
: Supports process-context IDs.
sourcepub fn with_process_context_ids(&mut self, value: bool) -> Self
pub fn with_process_context_ids(&mut self, value: bool) -> Self
PCID
: Supports process-context IDs.
sourcepub fn set_memory_mapped_prefetch(&mut self, value: bool)
pub fn set_memory_mapped_prefetch(&mut self, value: bool)
DCA
: Supports prefetching memory-mapped data from a device.
sourcepub fn with_memory_mapped_prefetch(&mut self, value: bool) -> Self
pub fn with_memory_mapped_prefetch(&mut self, value: bool) -> Self
DCA
: Supports prefetching memory-mapped data from a device.
sourcepub fn set_sse_4_1(&mut self, value: bool)
pub fn set_sse_4_1(&mut self, value: bool)
SSE4_1
: Supports SSE4.1 instructions.
sourcepub fn with_sse_4_1(&mut self, value: bool) -> Self
pub fn with_sse_4_1(&mut self, value: bool) -> Self
SSE4_1
: Supports SSE4.1 instructions.
sourcepub fn set_sse_4_2(&mut self, value: bool)
pub fn set_sse_4_2(&mut self, value: bool)
SSE4_2
: Supports SSE4.2 instructions.
sourcepub fn with_sse_4_2(&mut self, value: bool) -> Self
pub fn with_sse_4_2(&mut self, value: bool) -> Self
SSE4_2
: Supports SSE4.2 instructions.
sourcepub fn set_apic_x2(&mut self, value: bool)
pub fn set_apic_x2(&mut self, value: bool)
x2APIC
: Supports the enhanced “x2” interface for the APIC.
sourcepub fn with_apic_x2(&mut self, value: bool) -> Self
pub fn with_apic_x2(&mut self, value: bool) -> Self
x2APIC
: Supports the enhanced “x2” interface for the APIC.
sourcepub fn set_byte_swap_move(&mut self, value: bool)
pub fn set_byte_swap_move(&mut self, value: bool)
Supports byte swapping with the MOVBE
instruction.
sourcepub fn with_byte_swap_move(&mut self, value: bool) -> Self
pub fn with_byte_swap_move(&mut self, value: bool) -> Self
Supports byte swapping with the MOVBE
instruction.
sourcepub fn set_count_bits(&mut self, value: bool)
pub fn set_count_bits(&mut self, value: bool)
Supports counting the set bits in a value with the POPCNT
instruction.
sourcepub fn with_count_bits(&mut self, value: bool) -> Self
pub fn with_count_bits(&mut self, value: bool) -> Self
Supports counting the set bits in a value with the POPCNT
instruction.
sourcepub fn set_apic_timestamp_deadline(&mut self, value: bool)
pub fn set_apic_timestamp_deadline(&mut self, value: bool)
TSC-Deadline
: Supports one-shot interrupts with the APIC using the timestamp
counter.
sourcepub fn with_apic_timestamp_deadline(&mut self, value: bool) -> Self
pub fn with_apic_timestamp_deadline(&mut self, value: bool) -> Self
TSC-Deadline
: Supports one-shot interrupts with the APIC using the timestamp
counter.
sourcepub fn set_extended_state_save(&mut self, value: bool)
pub fn set_extended_state_save(&mut self, value: bool)
XSAVE
: Supports instructions for saving and restoring extended processor
state (FPU/MMX/SSE/AVX).
sourcepub fn with_extended_state_save(&mut self, value: bool) -> Self
pub fn with_extended_state_save(&mut self, value: bool) -> Self
XSAVE
: Supports instructions for saving and restoring extended processor
state (FPU/MMX/SSE/AVX).
sourcepub fn set_extended_state_save_enabled(&mut self, value: bool)
pub fn set_extended_state_save_enabled(&mut self, value: bool)
OSXSAVE
: Reflects the value of [ControlRegister4::extended_state_save
],
indicating that the OS has enabled the XSAVE
feature.
sourcepub fn with_extended_state_save_enabled(&mut self, value: bool) -> Self
pub fn with_extended_state_save_enabled(&mut self, value: bool) -> Self
OSXSAVE
: Reflects the value of [ControlRegister4::extended_state_save
],
indicating that the OS has enabled the XSAVE
feature.
sourcepub fn set_float_16_conversion(&mut self, value: bool)
pub fn set_float_16_conversion(&mut self, value: bool)
F16C
: Supports conversion instructions for 16-bit floats.
sourcepub fn with_float_16_conversion(&mut self, value: bool) -> Self
pub fn with_float_16_conversion(&mut self, value: bool) -> Self
F16C
: Supports conversion instructions for 16-bit floats.
sourcepub fn set_random(&mut self, value: bool)
pub fn set_random(&mut self, value: bool)
Supports random number generation with the RDRAND
instruction.
sourcepub fn with_random(&mut self, value: bool) -> Self
pub fn with_random(&mut self, value: bool) -> Self
Supports random number generation with the RDRAND
instruction.
source§impl BasicFeatures
impl BasicFeatures
Trait Implementations§
source§impl Bitfield<u64> for BasicFeatures
impl Bitfield<u64> for BasicFeatures
source§impl Clone for BasicFeatures
impl Clone for BasicFeatures
source§fn clone(&self) -> BasicFeatures
fn clone(&self) -> BasicFeatures
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for BasicFeatures
impl Debug for BasicFeatures
source§impl Default for BasicFeatures
impl Default for BasicFeatures
source§fn default() -> BasicFeatures
fn default() -> BasicFeatures
source§impl From<BasicFeatures> for u64
impl From<BasicFeatures> for u64
source§fn from(val: BasicFeatures) -> Self
fn from(val: BasicFeatures) -> Self
source§impl From<u64> for BasicFeatures
impl From<u64> for BasicFeatures
source§impl PartialEq for BasicFeatures
impl PartialEq for BasicFeatures
impl Copy for BasicFeatures
impl Eq for BasicFeatures
impl StructuralPartialEq for BasicFeatures
Auto Trait Implementations§
impl Freeze for BasicFeatures
impl RefUnwindSafe for BasicFeatures
impl Send for BasicFeatures
impl Sync for BasicFeatures
impl Unpin for BasicFeatures
impl UnwindSafe for BasicFeatures
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)