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.4.0 (DSP0134) Document Date: 2020-07-17
Implementations
sourceimpl<'a> SMBiosProcessorInformation<'a>
impl<'a> SMBiosProcessorInformation<'a>
sourcepub fn socket_designation(&self) -> Option<String>
pub fn socket_designation(&self) -> Option<String>
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) -> Option<String>
pub fn processor_manufacturer(&self) -> Option<String>
Processor manufacturer
sourcepub fn processor_version(&self) -> Option<String>
pub fn processor_version(&self) -> Option<String>
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) -> Option<String>
pub fn serial_number(&self) -> Option<String>
The serial number of this processor
This value is set by the manufacturer and normally not changeable.
sourcepub fn part_number(&self) -> Option<String>
pub fn part_number(&self) -> Option<String>
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.
Trait Implementations
sourceimpl Debug for SMBiosProcessorInformation<'_>
impl Debug for SMBiosProcessorInformation<'_>
sourceimpl<'a> SMBiosStruct<'a> for SMBiosProcessorInformation<'a>
impl<'a> SMBiosStruct<'a> for SMBiosProcessorInformation<'a>
sourceconst STRUCT_TYPE: u8
const STRUCT_TYPE: u8
The SMBIOS structure type Read more
sourcefn new(parts: &'a UndefinedStruct) -> Self
fn new(parts: &'a UndefinedStruct) -> Self
Creates a new instance of the implementing SMBIOS type
sourcefn parts(&self) -> &'a UndefinedStruct
fn parts(&self) -> &'a UndefinedStruct
Contains the standard parts/sections of the implementing SMBIOS type.
sourceimpl Serialize for SMBiosProcessorInformation<'_>
impl Serialize for SMBiosProcessorInformation<'_>
Auto Trait Implementations
impl<'a> RefUnwindSafe for SMBiosProcessorInformation<'a>
impl<'a> Send for SMBiosProcessorInformation<'a>
impl<'a> Sync for SMBiosProcessorInformation<'a>
impl<'a> Unpin for SMBiosProcessorInformation<'a>
impl<'a> UnwindSafe for SMBiosProcessorInformation<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more