23 #include "champsim_constants.h"
36 std::map<std::tuple<uint32_t, uint64_t, uint32_t>, uint64_t>
page_table;
53 uint64_t
shamt(std::size_t level)
const;
54 uint64_t
get_offset(uint64_t vaddr, std::size_t level)
const;
56 std::pair<uint64_t, uint64_t>
va_to_pa(uint32_t cpu_num, uint64_t vaddr);
57 std::pair<uint64_t, uint64_t>
get_pte_pa(uint32_t cpu_num, uint64_t vaddr, std::size_t level);
Definition: dram_controller.h:86
uint64_t get_offset(uint64_t vaddr, std::size_t level) const
Definition: vmem.cc:43
uint64_t next_ppage
Definition: vmem.h:40
std::map< std::pair< uint32_t, uint64_t >, uint64_t > vpage_to_ppage_map
Definition: vmem.h:35
std::map< std::tuple< uint32_t, uint64_t, uint32_t >, uint64_t > page_table
Definition: vmem.h:36
uint64_t next_pte_page
Definition: vmem.h:38
const uint64_t pte_page_size
Definition: vmem.h:49
std::pair< uint64_t, uint64_t > get_pte_pa(uint32_t cpu_num, uint64_t vaddr, std::size_t level)
Definition: vmem.cc:74
uint64_t last_ppage
Definition: vmem.h:41
uint64_t ppage_front() const
Definition: vmem.cc:48
VirtualMemory(uint64_t pg_size, std::size_t page_table_levels, uint64_t minor_penalty, MEMORY_CONTROLLER &dram)
Definition: vmem.cc:26
void ppage_pop()
Definition: vmem.cc:54
uint64_t shamt(std::size_t level) const
Definition: vmem.cc:41
std::size_t available_ppages() const
Definition: vmem.cc:56
std::pair< uint64_t, uint64_t > va_to_pa(uint32_t cpu_num, uint64_t vaddr)
Definition: vmem.cc:58
const std::size_t pt_levels
Definition: vmem.h:48
const uint64_t minor_fault_penalty
Definition: vmem.h:47
constexpr std::size_t PTE_BYTES
Definition: vmem.h:30
constexpr auto VMEM_RESERVE_CAPACITY
Definition: vmem.h:28