summaryrefslogtreecommitdiff
path: root/src/arch/arm
diff options
context:
space:
mode:
authorGabor Dozsa <gabor.dozsa@arm.com>2016-01-07 16:33:47 -0600
committerGabor Dozsa <gabor.dozsa@arm.com>2016-01-07 16:33:47 -0600
commite67749426054d8ddb7f11b53a89741d4808f3acb (patch)
tree6070cdd030bb632be375ababdf30680f50fccae0 /src/arch/arm
parent6caa2c9b4ea8ed3a29c44dec60b791344b5fd477 (diff)
downloadgem5-e67749426054d8ddb7f11b53a89741d4808f3acb.tar.xz
pseudo inst,util: Add optional key to initparam pseudo instruction
The key parameter can be used to read out various config parameters from within the simulated software.
Diffstat (limited to 'src/arch/arm')
-rw-r--r--src/arch/arm/isa/insts/m5ops.isa5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/arch/arm/isa/insts/m5ops.isa b/src/arch/arm/isa/insts/m5ops.isa
index e18d0682c..efe88c73a 100644
--- a/src/arch/arm/isa/insts/m5ops.isa
+++ b/src/arch/arm/isa/insts/m5ops.isa
@@ -276,13 +276,14 @@ let {{
exec_output += PredOpExecute.subst(loadsymbolIop)
initparamCode = '''
- uint64_t ip_val = PseudoInst::initParam(xc->tcBase());
+ uint64_t ip_val = PseudoInst::initParam(xc->tcBase(), join32to64(R1, R0),
+ join32to64(R3, R2));
R0 = bits(ip_val, 31, 0);
R1 = bits(ip_val, 63, 32);
'''
initparamCode64 = '''
- X0 = PseudoInst::initParam(xc->tcBase());
+ X0 = PseudoInst::initParam(xc->tcBase(), X0, X1);
'''
initparamIop = InstObjParams("initparam", "Initparam", "PredOp",