raw_cpuid

Struct L2And3CacheTlbInfo

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

L2/L3 Cache and TLB Information (LEAF=0x8000_0006).

§Availability

✅ AMD 🟡 Intel

Implementations§

source§

impl L2And3CacheTlbInfo

source

pub fn dtlb_2m_4m_associativity(&self) -> Associativity

L2 Data TLB associativity for 2-MB and 4-MB pages.

§Availability

✅ AMD ❌ Intel (reserved=0)

source

pub fn dtlb_2m_4m_size(&self) -> u16

L2 Data TLB number of entries for 2-MB and 4-MB pages.

The value returned is for the number of entries available for the 2-MB page size; 4-MB pages require two 2-MB entries, so the number of entries available for the 4-MB page size is one-half the returned value.

§Availability

✅ AMD ❌ Intel (reserved=0)

source

pub fn itlb_2m_4m_associativity(&self) -> Associativity

L2 Instruction TLB associativity for 2-MB and 4-MB pages.

§Availability

✅ AMD ❌ Intel (reserved=0)

source

pub fn itlb_2m_4m_size(&self) -> u16

L2 Instruction TLB number of entries for 2-MB and 4-MB pages.

The value returned is for the number of entries available for the 2-MB page size; 4-MB pages require two 2-MB entries, so the number of entries available for the 4-MB page size is one-half the returned value.

§Availability

✅ AMD ❌ Intel (reserved=0)

source

pub fn dtlb_4k_associativity(&self) -> Associativity

L2 Data TLB associativity for 4K pages.

§Availability

✅ AMD ❌ Intel (reserved=0)

source

pub fn dtlb_4k_size(&self) -> u16

L2 Data TLB number of entries for 4K pages.

§Availability

✅ AMD ❌ Intel (reserved=0)

source

pub fn itlb_4k_associativity(&self) -> Associativity

L2 Instruction TLB associativity for 4K pages.

§Availability

✅ AMD ❌ Intel (reserved=0)

source

pub fn itlb_4k_size(&self) -> u16

L2 Instruction TLB number of entries for 4K pages.

§Availability

✅ AMD ❌ Intel (reserved=0)

source

pub fn l2cache_line_size(&self) -> u8

L2 Cache Line size in bytes

§Platforms

✅ AMD ✅ Intel

source

pub fn l2cache_lines_per_tag(&self) -> u8

L2 cache lines per tag.

§Availability

✅ AMD ❌ Intel (reserved=0)

source

pub fn l2cache_associativity(&self) -> Associativity

L2 Associativity field

§Availability

✅ AMD ✅ Intel

source

pub fn l2cache_size(&self) -> u16

Cache size in KB.

§Platforms

✅ AMD ✅ Intel

source

pub fn l3cache_line_size(&self) -> u8

L2 Cache Line size in bytes

§Platforms

✅ AMD ❌ Intel (reserved=0)

source

pub fn l3cache_lines_per_tag(&self) -> u8

L2 cache lines per tag.

§Availability

✅ AMD ❌ Intel (reserved=0)

source

pub fn l3cache_associativity(&self) -> Associativity

L2 Associativity field

§Availability

✅ AMD ❌ Intel (reserved=0)

source

pub fn l3cache_size(&self) -> u16

Specifies the L3 cache size range

(L3Size[31:18] * 512KB) <= L3 cache size < ((L3Size[31:18]+1) * 512KB).

§Platforms

✅ AMD ❌ Intel (reserved=0)

Trait Implementations§

source§

impl Debug for L2And3CacheTlbInfo

source§

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

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

impl PartialEq for L2And3CacheTlbInfo

source§

fn eq(&self, other: &L2And3CacheTlbInfo) -> 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 Eq for L2And3CacheTlbInfo

source§

impl StructuralPartialEq for L2And3CacheTlbInfo

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> 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.