Struct smbioslib::SMBiosProcessorInformation[][src]

pub struct SMBiosProcessorInformation<'a> { /* fields omitted */ }

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

impl<'a> SMBiosProcessorInformation<'a>[src]

pub fn socket_designation(&self) -> Option<String>[src]

Socket reference designation

EXAMPLE: “J202”

pub fn processor_type(&self) -> Option<ProcessorTypeData>[src]

Processor type

pub fn processor_family(&self) -> Option<ProcessorFamilyData>[src]

Processor family

pub fn processor_manufacturer(&self) -> Option<String>[src]

Processor manufacturer

pub fn processor_id(&self) -> Option<&[u8; 8]>[src]

Raw processor identification data

pub fn processor_version(&self) -> Option<String>[src]

Processor version

pub fn voltage(&self) -> Option<ProcessorVoltage>[src]

Voltage

pub fn external_clock(&self) -> Option<ProcessorExternalClock>[src]

External clock frequency, in MHz

If the value is unknown, the field is set to 0.

pub fn max_speed(&self) -> Option<ProcessorSpeed>[src]

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.

pub fn current_speed(&self) -> Option<ProcessorSpeed>[src]

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.

pub fn status(&self) -> Option<ProcessorStatus>[src]

Status bit field

pub fn processor_upgrade(&self) -> Option<ProcessorUpgradeData>[src]

Processor upgrade

pub fn l1cache_handle(&self) -> Option<Handle>[src]

Handle of a [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.

pub fn l2cache_handle(&self) -> Option<Handle>[src]

Handle of a [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.

pub fn l3cache_handle(&self) -> Option<Handle>[src]

Handle of a [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.

pub fn serial_number(&self) -> Option<String>[src]

The serial number of this processor

This value is set by the manufacturer and normally not changeable.

pub fn asset_tag(&self) -> Option<String>[src]

The asset tag of this processor

pub fn part_number(&self) -> Option<String>[src]

The part number of this processor

This value is set by the manufacturer and normally not changeable.

pub fn core_count(&self) -> Option<CoreCount>[src]

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.

pub fn cores_enabled(&self) -> Option<CoresEnabled>[src]

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.

pub fn thread_count(&self) -> Option<ThreadCount>[src]

Number of threads per processor socket

For thread counts of 256 or greater, ‘thread_count_2’ field is set to the number of threads.

pub fn processor_characteristics(&self) -> Option<ProcessorCharacteristics>[src]

Defines which functions the processor supports

pub fn processor_family_2(&self) -> Option<ProcessorFamilyData2>[src]

Processor family 2

pub fn core_count_2(&self) -> Option<CoreCount2>[src]

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.

pub fn cores_enabled_2(&self) -> Option<CoresEnabled2>[src]

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.

pub fn thread_count_2(&self) -> Option<ThreadCount2>[src]

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

impl Debug for SMBiosProcessorInformation<'_>[src]

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<'a> SMBiosStruct<'a> for SMBiosProcessorInformation<'a>[src]

const STRUCT_TYPE: u8[src]

The SMBIOS structure type Read more

fn new(parts: &'a UndefinedStruct) -> Self[src]

Creates a new instance of the implementing SMBIOS type

fn parts(&self) -> &'a UndefinedStruct[src]

Contains the standard parts/sections of the implementing SMBIOS type.

impl Serialize for SMBiosProcessorInformation<'_>[src]

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where
    S: Serializer
[src]

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T

Notable traits for &'_ mut R

impl<'_, R> Read for &'_ mut R where
    R: Read + ?Sized
impl<'_, W> Write for &'_ mut W where
    W: Write + ?Sized
[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T

Notable traits for &'_ mut R

impl<'_, R> Read for &'_ mut R where
    R: Read + ?Sized
impl<'_, W> Write for &'_ mut W where
    W: Write + ?Sized
[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.