#[derive(Debug, Clone)]
pub struct CacheInfo {
pub l1i_size: usize,
pub l1d_size: usize,
pub l1_associativity: usize,
pub l1_line_size: usize,
pub l2_size: usize,
pub l2_associativity: usize,
pub l2_line_size: usize,
pub l3_size: usize,
pub l3_associativity: usize,
pub l3_line_size: usize,
pub l3_sharing: usize,
pub tlb_4kb_entries: usize,
pub tlb_2mb_entries: usize,
pub tlb_1gb_entries: usize,
}
impl Default for CacheInfo {
fn default() -> Self {
Self {
l1i_size: 32 * 1024, l1d_size: 32 * 1024, l1_associativity: 8,
l1_line_size: 64,
l2_size: 256 * 1024, l2_associativity: 8,
l2_line_size: 64,
l3_size: 8 * 1024 * 1024, l3_associativity: 16,
l3_line_size: 64,
l3_sharing: 8,
tlb_4kb_entries: 64,
tlb_2mb_entries: 32,
tlb_1gb_entries: 4,
}
}
}