summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/arm/ArmSystem.py4
-rw-r--r--src/arch/arm/system.cc3
-rw-r--r--src/arch/arm/system.hh6
-rw-r--r--src/sim/System.py7
-rw-r--r--src/sim/system.cc3
-rw-r--r--src/sim/system.hh6
6 files changed, 16 insertions, 13 deletions
diff --git a/src/arch/arm/ArmSystem.py b/src/arch/arm/ArmSystem.py
index 5629ab511..0e642153b 100644
--- a/src/arch/arm/ArmSystem.py
+++ b/src/arch/arm/ArmSystem.py
@@ -93,10 +93,6 @@ class ArmSystem(System):
semihosting = Param.ArmSemihosting(NULL,
"Enable support for the Arm semihosting by settings this parameter")
- m5ops_base = Param.Addr(0,
- "Base of the 64KiB PA range used for memory-mapped m5ops. Set to 0 "
- "to disable.")
-
dtb_filename = Param.String("",
"File that contains the Device Tree Blob. Don't use DTB if empty.")
diff --git a/src/arch/arm/system.cc b/src/arch/arm/system.cc
index c3c2b8d48..5c32059f4 100644
--- a/src/arch/arm/system.cc
+++ b/src/arch/arm/system.cc
@@ -75,9 +75,6 @@ ArmSystem::ArmSystem(Params *p)
_sveVL(p->sve_vl),
_haveLSE(p->have_lse),
_havePAN(p->have_pan),
- _m5opRange(p->m5ops_base ?
- RangeSize(p->m5ops_base, 0x10000) :
- AddrRange(1, 0)), // Create an empty range if disabled
semihosting(p->semihosting),
multiProc(p->multi_proc)
{
diff --git a/src/arch/arm/system.hh b/src/arch/arm/system.hh
index a9048051e..90fed14a7 100644
--- a/src/arch/arm/system.hh
+++ b/src/arch/arm/system.hh
@@ -139,12 +139,6 @@ class ArmSystem : public System
const unsigned _havePAN;
/**
- * Range for memory-mapped m5 pseudo ops. The range will be
- * invalid/empty if disabled.
- */
- const AddrRange _m5opRange;
-
- /**
* True if the Semihosting interface is enabled.
*/
ArmSemihosting *const semihosting;
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();