Struct smbioslib::SMBiosProcessorInformation
source · pub struct SMBiosProcessorInformation<'a> { /* private fields */ }
Expand description
Processor Information (Type 4)
The information in this structure defines the attributes of a single processor; a separate structure instance is provided for each system processor socket/slot. For example, a system with an IntelDX2™ processor would have a single structure instance while a system with an IntelSX2™ processor would have a structure to describe the main CPU and a second structure to describe the 80487 co1021 processor.
NOTE One structure is provided for each processor instance in a system. For example, a system that supports up to two processors includes two Processor Information structures — even if only one processor is currently installed. Software that interprets the SMBIOS information can count the Processor Information structures to determine the maximum possible configuration of the system.
Compliant with: DMTF SMBIOS Reference Specification 3.7.0 (DSP0134) Document Date: 2023-07-21
Implementations§
source§impl<'a> SMBiosProcessorInformation<'a>
impl<'a> SMBiosProcessorInformation<'a>
sourcepub fn socket_designation(&self) -> SMBiosString
pub fn socket_designation(&self) -> SMBiosString
Socket reference designation
EXAMPLE: “J202”
sourcepub fn processor_type(&self) -> Option<ProcessorTypeData>
pub fn processor_type(&self) -> Option<ProcessorTypeData>
Processor type
sourcepub fn processor_family(&self) -> Option<ProcessorFamilyData>
pub fn processor_family(&self) -> Option<ProcessorFamilyData>
Processor family
sourcepub fn processor_manufacturer(&self) -> SMBiosString
pub fn processor_manufacturer(&self) -> SMBiosString
Processor manufacturer
sourcepub fn processor_id(&self) -> Option<&[u8; 8]>
pub fn processor_id(&self) -> Option<&[u8; 8]>
Raw processor identification data
sourcepub fn processor_version(&self) -> SMBiosString
pub fn processor_version(&self) -> SMBiosString
Processor version
sourcepub fn voltage(&self) -> Option<ProcessorVoltage>
pub fn voltage(&self) -> Option<ProcessorVoltage>
Voltage
sourcepub fn external_clock(&self) -> Option<ProcessorExternalClock>
pub fn external_clock(&self) -> Option<ProcessorExternalClock>
External clock frequency, in MHz
If the value is unknown, the field is set to 0.
sourcepub fn max_speed(&self) -> Option<ProcessorSpeed>
pub fn max_speed(&self) -> Option<ProcessorSpeed>
Maximum processor speed (in MHz) supported by the system for this processor socket
0E9h is for a 233 MHz processor.
NOTE: This field identifies a capability for the system, not the processor itself.
sourcepub fn current_speed(&self) -> Option<ProcessorSpeed>
pub fn current_speed(&self) -> Option<ProcessorSpeed>
Current speed
Same format as Max Speed
NOTE: This field identifies the processor’s speed at system boot; the processor may support more than one speed.
sourcepub fn status(&self) -> Option<ProcessorStatus>
pub fn status(&self) -> Option<ProcessorStatus>
Status bit field
sourcepub fn processor_upgrade(&self) -> Option<ProcessorUpgradeData>
pub fn processor_upgrade(&self) -> Option<ProcessorUpgradeData>
Processor upgrade
sourcepub fn l1cache_handle(&self) -> Option<Handle>
pub fn l1cache_handle(&self) -> Option<Handle>
Handle of a super::SMBiosCacheInformation structure that defines the attributes of the primary (Level 1) cache for this processor
For version 2.1 and version 2.2 implementations, the value is 0FFFFh if the processor has no L1 cache. For version 2.3 and later implementations, the value is 0FFFFh if the Cache Information structure is not provided.
sourcepub fn l2cache_handle(&self) -> Option<Handle>
pub fn l2cache_handle(&self) -> Option<Handle>
Handle of a super::SMBiosCacheInformation structure that defines the attributes of the primary (Level 2) cache for this processor
For version 2.1 and version 2.2 implementations, the value is 0FFFFh if the processor has no L2 cache. For version 2.3 and later implementations, the value is 0FFFFh if the Cache Information structure is not provided.
sourcepub fn l3cache_handle(&self) -> Option<Handle>
pub fn l3cache_handle(&self) -> Option<Handle>
Handle of a super::SMBiosCacheInformation structure that defines the attributes of the primary (Level 3) cache for this processor
For version 2.1 and version 2.2 implementations, the value is 0FFFFh if the processor has no L3 cache. For version 2.3 and later implementations, the value is 0FFFFh if the Cache Information structure is not provided.
sourcepub fn serial_number(&self) -> SMBiosString
pub fn serial_number(&self) -> SMBiosString
The serial number of this processor
This value is set by the manufacturer and normally not changeable.
sourcepub fn asset_tag(&self) -> SMBiosString
pub fn asset_tag(&self) -> SMBiosString
The asset tag of this processor
sourcepub fn part_number(&self) -> SMBiosString
pub fn part_number(&self) -> SMBiosString
The part number of this processor
This value is set by the manufacturer and normally not changeable.
sourcepub fn core_count(&self) -> Option<CoreCount>
pub fn core_count(&self) -> Option<CoreCount>
Number of cores per processor socket
For core counts of 256 or greater, the ‘core_count_2’ field is set to the number of cores.
sourcepub fn cores_enabled(&self) -> Option<CoresEnabled>
pub fn cores_enabled(&self) -> Option<CoresEnabled>
Number of enabled cores per processor socket
For core counts of 256 or greater, the ‘cores_enabled_2’ field is set to the number of enabled cores.
sourcepub fn thread_count(&self) -> Option<ThreadCount>
pub fn thread_count(&self) -> Option<ThreadCount>
Number of threads per processor socket
For thread counts of 256 or greater, ‘thread_count_2’ field is set to the number of threads.
sourcepub fn processor_characteristics(&self) -> Option<ProcessorCharacteristics>
pub fn processor_characteristics(&self) -> Option<ProcessorCharacteristics>
Defines which functions the processor supports
sourcepub fn processor_family_2(&self) -> Option<ProcessorFamilyData2>
pub fn processor_family_2(&self) -> Option<ProcessorFamilyData2>
Processor family 2
sourcepub fn core_count_2(&self) -> Option<CoreCount2>
pub fn core_count_2(&self) -> Option<CoreCount2>
Number of Cores per processor socket.
Supports core counts >255. If this field is present, it holds the core count for the processor socket. ‘core_count’ will also hold the core count, except for core counts that are 256 or greater. In that case, ‘core_count’ shall be set to ‘CoreCount::SeeCoreCount2’ and ‘core_count_2’ will hold the count.
sourcepub fn cores_enabled_2(&self) -> Option<CoresEnabled2>
pub fn cores_enabled_2(&self) -> Option<CoresEnabled2>
Number of enabled cores per processor socket.
Supports core enabled counts >255. If this field is present, it holds the core enabled count for the processor socket. ‘cores_enabled’ will also hold the core enabled count, except for core counts that are 256 or greater. In that case, ‘cores_enabled’ shall be set to ‘CoresEnabled::SeeCoresEnabled2’ and ‘cores_enabled_2’ will hold the count.
sourcepub fn thread_count_2(&self) -> Option<ThreadCount2>
pub fn thread_count_2(&self) -> Option<ThreadCount2>
Number of threads per processor socket.
Supports thread counts >255. If this field is present, it holds the thread count for the processor socket. ‘thread_count’ will also hold the thread count, except for thread counts that are 256 or greater. In that case, ‘thread_count’ shall be set to ‘ThreadCount::SeeThreadCount2’ and ‘thread_count_2’ will hold the count.
sourcepub fn thread_enabled(&self) -> Option<ThreadEnabled>
pub fn thread_enabled(&self) -> Option<ThreadEnabled>
Number of threads the BIOS has enabled and available for operating system use.
For example, if the BIOS detects a dual-core processor with two threads supported in each core • And it leaves both threads enabled, it reports a value of 4. • And it disables multi-threading support, it reports a value of 2.