diff --git a/src/arch/arm/ArmSystem.py b/src/arch/arm/ArmSystem.py index 5629ab5114..0e642153b6 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 c3c2b8d48b..5c32059f46 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 a9048051ea..90fed14a79 100644 --- a/src/arch/arm/system.hh +++ b/src/arch/arm/system.hh @@ -138,12 +138,6 @@ class ArmSystem : public System /** True if Priviledge Access Never is implemented */ 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. */ diff --git a/src/sim/System.py b/src/sim/System.py index 619b54ed1d..e49d26a076 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 97ebd1d7c0..0cc328c22d 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 338b126193..6c63b327fd 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();