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
> 
> 

Reply via email to