diff options
author | Peter Crosthwaite <peter.crosthwaite@xilinx.com> | 2013-07-10 14:22:59 +1000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2013-07-15 17:13:51 +0100 |
commit | 204a9c43afb92e2ff44fc9d1d377bc98ee97e3d7 (patch) | |
tree | 95210592a02b2a854dd081a9075c9d7dfd7a1383 /target-arm | |
parent | 97ce8d61559b99492b4d389eba51a198e55b8455 (diff) |
target-arm/helper.c: Allow const opaques in arm CP
Allow for defining const opaque data in ARM CP register definitions by
setting .opaque = foo. If non null opaque is passed into
define_one_arm_cp_reg_with_opaque then that opaque will take
precedence, otherwise if null opaque is passed, the original opaque
data will be used.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Message-id: cf0a3ac3438d97464240db9f5f4ef1585cbc1d77.1373429432.git.peter.crosthwaite@xilinx.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target-arm')
-rw-r--r-- | target-arm/helper.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/target-arm/helper.c b/target-arm/helper.c index 8d8a8de3bd..b7c926db18 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -1608,7 +1608,9 @@ void define_one_arm_cp_reg_with_opaque(ARMCPU *cpu, ARMCPRegInfo *r2 = g_memdup(r, sizeof(ARMCPRegInfo)); int is64 = (r->type & ARM_CP_64BIT) ? 1 : 0; *key = ENCODE_CP_REG(r->cp, is64, r->crn, crm, opc1, opc2); - r2->opaque = opaque; + if (opaque) { + r2->opaque = opaque; + } /* Make sure reginfo passed to helpers for wildcarded regs * has the correct crm/opc1/opc2 for this reg, not CP_ANY: */ |