ChampSim
PageTableWalker::Builder Class Reference

#include <ptw.h>

Collaboration diagram for PageTableWalker::Builder:
[legend]

Public Member Functions

Buildername (std::string_view name_)
 
Builderfrequency (double freq_scale_)
 
Buildercpu (uint32_t cpu_)
 
Builderadd_pscl (uint8_t lvl, uint32_t set, uint32_t way)
 
Buildermshr_size (uint32_t mshr_size_)
 
Buildertag_bandwidth (uint32_t max_read_)
 
Builderfill_bandwidth (uint32_t max_fill_)
 
Builderlatency (unsigned latency_)
 
Builderupper_levels (std::vector< PageTableWalker::channel_type * > &&uls_)
 
Builderlower_level (PageTableWalker::channel_type *ll_)
 
Buildervirtual_memory (VirtualMemory *vmem_)
 

Private Attributes

std::string_view m_name {}
 
double m_freq_scale {}
 
uint32_t m_cpu {}
 
std::array< std::array< uint32_t, 3 >, 16 > m_pscl {}
 
uint32_t m_mshr_size {}
 
uint32_t m_max_tag_check {}
 
uint32_t m_max_fill {}
 
unsigned m_latency {}
 
std::vector< PageTableWalker::channel_type * > m_uls {}
 
PageTableWalker::channel_typem_ll {}
 
VirtualMemorym_vmem {}
 

Friends

class PageTableWalker
 

Member Function Documentation

◆ add_pscl()

Builder& PageTableWalker::Builder::add_pscl ( uint8_t  lvl,
uint32_t  set,
uint32_t  way 
)
inline

◆ cpu()

Builder& PageTableWalker::Builder::cpu ( uint32_t  cpu_)
inline

◆ fill_bandwidth()

Builder& PageTableWalker::Builder::fill_bandwidth ( uint32_t  max_fill_)
inline

◆ frequency()

Builder& PageTableWalker::Builder::frequency ( double  freq_scale_)
inline

◆ latency()

Builder& PageTableWalker::Builder::latency ( unsigned  latency_)
inline

◆ lower_level()

Builder& PageTableWalker::Builder::lower_level ( PageTableWalker::channel_type ll_)
inline

◆ mshr_size()

Builder& PageTableWalker::Builder::mshr_size ( uint32_t  mshr_size_)
inline

◆ name()

Builder& PageTableWalker::Builder::name ( std::string_view  name_)
inline

◆ tag_bandwidth()

Builder& PageTableWalker::Builder::tag_bandwidth ( uint32_t  max_read_)
inline

◆ upper_levels()

Builder& PageTableWalker::Builder::upper_levels ( std::vector< PageTableWalker::channel_type * > &&  uls_)
inline

◆ virtual_memory()

Builder& PageTableWalker::Builder::virtual_memory ( VirtualMemory vmem_)
inline

Friends And Related Function Documentation

◆ PageTableWalker

friend class PageTableWalker
friend

Member Data Documentation

◆ m_cpu

uint32_t PageTableWalker::Builder::m_cpu {}
private

◆ m_freq_scale

double PageTableWalker::Builder::m_freq_scale {}
private

◆ m_latency

unsigned PageTableWalker::Builder::m_latency {}
private

◆ m_ll

PageTableWalker::channel_type* PageTableWalker::Builder::m_ll {}
private

◆ m_max_fill

uint32_t PageTableWalker::Builder::m_max_fill {}
private

◆ m_max_tag_check

uint32_t PageTableWalker::Builder::m_max_tag_check {}
private

◆ m_mshr_size

uint32_t PageTableWalker::Builder::m_mshr_size {}
private

◆ m_name

std::string_view PageTableWalker::Builder::m_name {}
private

◆ m_pscl

std::array<std::array<uint32_t, 3>, 16> PageTableWalker::Builder::m_pscl {}
private

◆ m_uls

std::vector<PageTableWalker::channel_type*> PageTableWalker::Builder::m_uls {}
private

◆ m_vmem

VirtualMemory* PageTableWalker::Builder::m_vmem {}
private

The documentation for this class was generated from the following file: