From 5efbb4442a0e8c653539e263bf87c48849280e23 Mon Sep 17 00:00:00 2001 From: Alexandru Date: Thu, 28 Aug 2014 10:11:44 -0500 Subject: mem: adding architectural page table support for SE mode This patch enables the use of page tables that are stored in system memory and respect x86 specification, in SE mode. It defines an architectural page table for x86 as a MultiLevelPageTable class and puts a placeholder class for other ISAs page tables, giving the possibility for future implementation. --- src/sim/process.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/sim/process.cc') diff --git a/src/sim/process.cc b/src/sim/process.cc index d9f9a0fe6..a738908e1 100644 --- a/src/sim/process.cc +++ b/src/sim/process.cc @@ -106,7 +106,10 @@ Process::Process(ProcessParams * params) : SimObject(params), system(params->system), max_stack_size(params->max_stack_size), M5_pid(system->allocatePID()), - pTable(new FuncPageTable(name(), M5_pid)), + useArchPT(params->useArchPT), + pTable(useArchPT ? + static_cast(new ArchPageTable(name(), M5_pid, system)) : + static_cast(new FuncPageTable(name(), M5_pid)) ), initVirtMem(system->getSystemPort(), this, SETranslatingPortProxy::Always) { -- cgit v1.2.3