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.")
_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)
{
/** 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.
*/
# 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)')
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)
{
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();