arch, mem, sim: Consolidate and rename the SE mode page table classes.
Now that Nothing inherits from PageTableBase directly, it can be merged into FuncPageTable. This change also takes the opportunity to rename the combined class to EmulationPageTable which lets you know that it's specifically for SE mode. Also remove the page table entry cache since it doesn't seem to actually improve performance. The TLBs likely absorb the majority of the locality, essentially acting like a cache like they would in real hardware. Change-Id: If1bcb91aed08686603bf7bee37298c0eee826e13 Reviewed-on: https://gem5-review.googlesource.com/7342 Reviewed-by: Brandon Potter <Brandon.Potter@amd.com> Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
@@ -101,7 +101,7 @@
|
||||
using namespace std;
|
||||
using namespace TheISA;
|
||||
|
||||
Process::Process(ProcessParams *params, PageTableBase *pTable,
|
||||
Process::Process(ProcessParams *params, EmulationPageTable *pTable,
|
||||
ObjectFile *obj_file)
|
||||
: SimObject(params), system(params->system),
|
||||
useArchPT(params->useArchPT),
|
||||
@@ -310,7 +310,8 @@ Process::allocateMem(Addr vaddr, int64_t size, bool clobber)
|
||||
int npages = divCeil(size, (int64_t)PageBytes);
|
||||
Addr paddr = system->allocPhysPages(npages);
|
||||
pTable->map(vaddr, paddr, size,
|
||||
clobber ? PageTableBase::Clobber : PageTableBase::Zero);
|
||||
clobber ? EmulationPageTable::Clobber :
|
||||
EmulationPageTable::Zero);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -405,7 +406,8 @@ bool
|
||||
Process::map(Addr vaddr, Addr paddr, int size, bool cacheable)
|
||||
{
|
||||
pTable->map(vaddr, paddr, size,
|
||||
cacheable ? PageTableBase::Zero : PageTableBase::Uncacheable);
|
||||
cacheable ? EmulationPageTable::Zero :
|
||||
EmulationPageTable::Uncacheable);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user