raw_cpuid

Struct CacheParameter

source
pub struct CacheParameter { /* private fields */ }
Expand description

Information about an individual cache in the hierarchy.

§Platforms

🟡 AMD ✅ Intel

Implementations§

source§

impl CacheParameter

source

pub fn cache_type(&self) -> CacheType

Cache Type

§Platforms

✅ AMD ✅ Intel

source

pub fn level(&self) -> u8

Cache Level (starts at 1)

§Platforms

✅ AMD ✅ Intel

source

pub fn is_self_initializing(&self) -> bool

Self Initializing cache level (does not need SW initialization).

§Platforms

✅ AMD ✅ Intel

source

pub fn is_fully_associative(&self) -> bool

Fully Associative cache

§Platforms

✅ AMD ✅ Intel

source

pub fn max_cores_for_cache(&self) -> usize

Maximum number of addressable IDs for logical processors sharing this cache

§Platforms

✅ AMD ✅ Intel

source

pub fn max_cores_for_package(&self) -> usize

Maximum number of addressable IDs for processor cores in the physical package

§Platforms

❌ AMD ✅ Intel

source

pub fn coherency_line_size(&self) -> usize

System Coherency Line Size (Bits 11-00)

§Platforms

✅ AMD ✅ Intel

source

pub fn physical_line_partitions(&self) -> usize

Physical Line partitions (Bits 21-12)

§Platforms

✅ AMD ✅ Intel

source

pub fn associativity(&self) -> usize

Ways of associativity (Bits 31-22)

§Platforms

✅ AMD ✅ Intel

source

pub fn sets(&self) -> usize

Number of Sets (Bits 31-00)

§Platforms

✅ AMD ✅ Intel

source

pub fn is_write_back_invalidate(&self) -> bool

Write-Back Invalidate/Invalidate (Bit 0) False: WBINVD/INVD from threads sharing this cache acts upon lower level caches for threads sharing this cache. True: WBINVD/INVD is not guaranteed to act upon lower level caches of non-originating threads sharing this cache.

§Platforms

✅ AMD ✅ Intel

source

pub fn is_inclusive(&self) -> bool

Cache Inclusiveness (Bit 1) False: Cache is not inclusive of lower cache levels. True: Cache is inclusive of lower cache levels.

§Platforms

✅ AMD ✅ Intel

source

pub fn has_complex_indexing(&self) -> bool

Complex Cache Indexing (Bit 2) False: Direct mapped cache. True: A complex function is used to index the cache, potentially using all address bits.

§Platforms

❌ AMD ✅ Intel

Trait Implementations§

source§

impl Clone for CacheParameter

source§

fn clone(&self) -> CacheParameter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CacheParameter

source§

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

Formats the value using the given formatter. Read more
source§

impl PartialEq for CacheParameter

source§

fn eq(&self, other: &CacheParameter) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for CacheParameter

source§

impl Eq for CacheParameter

source§

impl StructuralPartialEq for CacheParameter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.