Don't hard code a range into the TLB.
Jira Issue: https://gem5.atlassian.net/browse/GEM5-187
Change-Id: I0ead4353672ccf6e3e51ddbb4676be3a09f1136a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23182
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Pouya Fotouhi <pfotouhi@ucdavis.edu>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
cxx_class = 'X86ISA::TLB'
cxx_header = 'arch/x86/tlb.hh'
size = Param.Unsigned(64, "TLB size")
+ system = Param.System(Parent.any, "system object")
walker = Param.X86PagetableWalker(\
X86PagetableWalker(), "page table walker")
TLB::TLB(const Params *p)
: BaseTLB(p), configAddress(0), size(p->size),
- tlb(size), lruSeq(0)
+ tlb(size), lruSeq(0), m5opRange(p->system->m5opRange())
{
if (!size)
fatal("TLBs must have a non-zero size.\n");
{
Addr paddr = req->getPaddr();
- AddrRange m5opRange(0xFFFF0000, 0x100000000);
-
if (m5opRange.contains(paddr)) {
req->setFlags(Request::MMAPPED_IPR | Request::GENERIC_IPR |
Request::STRICT_ORDER);
TlbEntryTrie trie;
uint64_t lruSeq;
+ AddrRange m5opRange;
+
// Statistics
Stats::Scalar rdAccesses;
Stats::Scalar wrAccesses;