diff options
Diffstat (limited to 'src/sim')
-rw-r--r-- | src/sim/Process.py | 1 | ||||
-rw-r--r-- | src/sim/process.cc | 1 | ||||
-rw-r--r-- | src/sim/process.hh | 3 |
3 files changed, 5 insertions, 0 deletions
diff --git a/src/sim/Process.py b/src/sim/Process.py index 7e5f75363..f64ab0883 100644 --- a/src/sim/Process.py +++ b/src/sim/Process.py @@ -40,6 +40,7 @@ class Process(SimObject): system = Param.System(Parent.any, "system process will run on") useArchPT = Param.Bool('false', 'maintain an in-memory version of the page\ table in an architecture-specific format') + kvmInSE = Param.Bool('false', 'initialize the process for KvmCPU in SE') max_stack_size = Param.MemorySize('64MB', 'maximum size of the stack') @classmethod diff --git a/src/sim/process.cc b/src/sim/process.cc index d1fb22029..f53c6b850 100644 --- a/src/sim/process.cc +++ b/src/sim/process.cc @@ -107,6 +107,7 @@ Process::Process(ProcessParams * params) max_stack_size(params->max_stack_size), M5_pid(system->allocatePID()), useArchPT(params->useArchPT), + kvmInSE(params->kvmInSE), pTable(useArchPT ? static_cast<PageTableBase *>(new ArchPageTable(name(), M5_pid, system)) : static_cast<PageTableBase *>(new FuncPageTable(name(), M5_pid)) ), diff --git a/src/sim/process.hh b/src/sim/process.hh index 6e26bb8bd..d0865f990 100644 --- a/src/sim/process.hh +++ b/src/sim/process.hh @@ -128,6 +128,9 @@ class Process : public SimObject // flag for using architecture specific page table bool useArchPT; + // running KvmCPU in SE mode requires special initialization + bool kvmInSE; + PageTableBase* pTable; class FdMap |