x86: Use the m5 op range in the system.
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>
This commit is contained in:
@@ -55,5 +55,6 @@ class X86TLB(BaseTLB):
|
||||
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")
|
||||
|
||||
@@ -61,7 +61,7 @@ namespace X86ISA {
|
||||
|
||||
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");
|
||||
@@ -229,8 +229,6 @@ TLB::finalizePhysical(const RequestPtr &req,
|
||||
{
|
||||
Addr paddr = req->getPaddr();
|
||||
|
||||
AddrRange m5opRange(0xFFFF0000, 0x100000000);
|
||||
|
||||
if (m5opRange.contains(paddr)) {
|
||||
req->setFlags(Request::MMAPPED_IPR | Request::GENERIC_IPR |
|
||||
Request::STRICT_ORDER);
|
||||
|
||||
@@ -100,6 +100,8 @@ namespace X86ISA
|
||||
TlbEntryTrie trie;
|
||||
uint64_t lruSeq;
|
||||
|
||||
AddrRange m5opRange;
|
||||
|
||||
// Statistics
|
||||
Stats::Scalar rdAccesses;
|
||||
Stats::Scalar wrAccesses;
|
||||
|
||||
Reference in New Issue
Block a user