pub struct MemSideCache {
pub size: u64,
pub associativity: u8,
pub write_policy: u8,
pub line_size: u16,
}Expand description
Re-exports of topology types for use in KtstrTestEntry statics
generated by the #[ktstr_test] macro.
HMAT Type 2 memory-side cache descriptor.
Models a hardware cache between the CPU and memory on this node (e.g. CXL HDM decoder cache, HBM cache). Emitted as an HMAT Memory Side Cache Information Structure.
associativity and write_policy occupy 4-bit nibbles in the
HMAT cache_attributes field. Values above 15 are invalid.
Fields§
§size: u64Cache size in bytes.
associativity: u8Cache associativity (0=none, 1=direct-mapped, 2=complex). Must be <= 15 (4-bit field).
write_policy: u8Write policy (0=none, 1=write-back, 2=write-through). Must be <= 15 (4-bit field).
line_size: u16Cache line size in bytes.
Implementations§
Source§impl MemSideCache
impl MemSideCache
Trait Implementations§
Source§impl Clone for MemSideCache
impl Clone for MemSideCache
Source§fn clone(&self) -> MemSideCache
fn clone(&self) -> MemSideCache
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MemSideCache
impl Debug for MemSideCache
Source§impl Hash for MemSideCache
impl Hash for MemSideCache
Source§impl PartialEq for MemSideCache
impl PartialEq for MemSideCache
impl Copy for MemSideCache
impl Eq for MemSideCache
impl StructuralPartialEq for MemSideCache
Auto Trait Implementations§
impl Freeze for MemSideCache
impl RefUnwindSafe for MemSideCache
impl Send for MemSideCache
impl Sync for MemSideCache
impl Unpin for MemSideCache
impl UnwindSafe for MemSideCache
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more