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 more