From: Peter Crosthwaite <peter.crosthwa...@xilinx.com> Allow for defining const opaque data in ARM CP register definitions by setting .opaque = foo. If non null opaque is passes 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.crosthwa...@xilinx.com> --- target-arm/helper.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target-arm/helper.c b/target-arm/helper.c index 6f0a87e..f8b9ef4 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: */ -- 1.8.3.rc1.44.gb387c77.dirty