On Fri, Aug 09, 2013 at 05:17:57PM +0100, Peter Maydell wrote: > Extend the raw_read() and raw_write() helper accessors so that > they can be used for 64 bit registers as well as 32 bit registers. >
Reviewed-by: Edgar E. Iglesias <[email protected]> > Signed-off-by: Peter Maydell <[email protected]> > Tested-by: Laurent Desnogues <[email protected]> > --- > target-arm/helper.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/target-arm/helper.c b/target-arm/helper.c > index 4968391..fc5f757 100644 > --- a/target-arm/helper.c > +++ b/target-arm/helper.c > @@ -67,14 +67,22 @@ static int vfp_gdb_set_reg(CPUARMState *env, uint8_t > *buf, int reg) > static int raw_read(CPUARMState *env, const ARMCPRegInfo *ri, > uint64_t *value) > { > - *value = CPREG_FIELD32(env, ri); > + if (ri->type & ARM_CP_64BIT) { > + *value = CPREG_FIELD64(env, ri); > + } else { > + *value = CPREG_FIELD32(env, ri); > + } > return 0; > } > > static int raw_write(CPUARMState *env, const ARMCPRegInfo *ri, > uint64_t value) > { > - CPREG_FIELD32(env, ri) = value; > + if (ri->type & ARM_CP_64BIT) { > + CPREG_FIELD64(env, ri) = value; > + } else { > + CPREG_FIELD32(env, ri) = value; > + } > return 0; > } > > -- > 1.7.9.5 > >
