target-arm: Allow raw_read() and raw_write() to handle 64 bit regs
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. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Tested-by: Laurent Desnogues <laurent.desnogues@gmail.com> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> Message-id: 1376065080-26661-2-git-send-email-peter.maydell@linaro.org
This commit is contained in:
parent
b643e4b90b
commit
22d9e1a986
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user