diff options
Diffstat (limited to 'src/sim')
-rw-r--r-- | src/sim/System.py | 7 | ||||
-rw-r--r-- | src/sim/system.cc | 3 | ||||
-rw-r--r-- | src/sim/system.hh | 6 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/sim/System.py b/src/sim/System.py index 619b54ed1..e49d26a07 100644 --- a/src/sim/System.py +++ b/src/sim/System.py @@ -125,5 +125,12 @@ class System(SimObject): # Provide list of domains that need to be controlled by the handler dvfs_handler = DVFSHandler() + # SE mode doesn't use the ISA System subclasses, and so we need to set an + # ISA specific value in this class directly. + m5ops_base = Param.Addr( + 0xffff0000 if buildEnv['TARGET_ISA'] == 'x86' else 0, + "Base of the 64KiB PA range used for memory-mapped m5ops. Set to 0 " + "to disable.") + if buildEnv['USE_KVM']: kvm_vm = Param.KvmVM(NULL, 'KVM VM (i.e., shared memory domain)') diff --git a/src/sim/system.cc b/src/sim/system.cc index 97ebd1d7c..0cc328c22 100644 --- a/src/sim/system.cc +++ b/src/sim/system.cc @@ -111,6 +111,9 @@ System::System(Params *p) numWorkIds(p->num_work_ids), thermalModel(p->thermal_model), _params(p), + _m5opRange(p->m5ops_base ? + RangeSize(p->m5ops_base, 0x10000) : + AddrRange(1, 0)), // Create an empty range if disabled totalNumInsts(0), redirectPaths(p->redirect_paths) { diff --git a/src/sim/system.hh b/src/sim/system.hh index 338b12619..6c63b327f 100644 --- a/src/sim/system.hh +++ b/src/sim/system.hh @@ -567,6 +567,12 @@ class System : public SimObject, public PCEventScope protected: Params *_params; + /** + * Range for memory-mapped m5 pseudo ops. The range will be + * invalid/empty if disabled. + */ + const AddrRange _m5opRange; + public: System(Params *p); ~System(); |