target/ppc: Remove msr_ts macro
msr_ts macro hides the usage of env->msr, which is a bad behavior. Substitute it with FIELD_EX64 calls that explicitly use env->msr as a parameter. Suggested-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Víctor Colombo <victor.colombo@eldorado.org.br> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220504210541.115256-19-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
parent
da806a6c63
commit
ca241959cd
@ -354,6 +354,7 @@ typedef enum {
|
||||
#define MSR_RI 1 /* Recoverable interrupt 1 */
|
||||
#define MSR_LE 0 /* Little-endian mode 1 hflags */
|
||||
|
||||
FIELD(MSR, TS, MSR_TS0, 2)
|
||||
FIELD(MSR, CM, MSR_CM, 1)
|
||||
FIELD(MSR, GS, MSR_GS, 1)
|
||||
FIELD(MSR, POW, MSR_POW, 1)
|
||||
@ -494,7 +495,6 @@ FIELD(MSR, LE, MSR_LE, 1)
|
||||
#define msr_hv (0)
|
||||
#endif
|
||||
#define msr_de ((env->msr >> MSR_DE) & 1)
|
||||
#define msr_ts ((env->msr >> MSR_TS1) & 3)
|
||||
|
||||
#define DBCR0_ICMP (1 << 27)
|
||||
#define DBCR0_BRT (1 << 26)
|
||||
|
@ -974,7 +974,7 @@ int kvm_arch_put_registers(CPUState *cs, int level)
|
||||
}
|
||||
|
||||
#ifdef TARGET_PPC64
|
||||
if (msr_ts) {
|
||||
if (FIELD_EX64(env->msr, MSR, TS)) {
|
||||
for (i = 0; i < ARRAY_SIZE(env->tm_gpr); i++) {
|
||||
kvm_set_one_reg(cs, KVM_REG_PPC_TM_GPR(i), &env->tm_gpr[i]);
|
||||
}
|
||||
@ -1282,7 +1282,7 @@ int kvm_arch_get_registers(CPUState *cs)
|
||||
}
|
||||
|
||||
#ifdef TARGET_PPC64
|
||||
if (msr_ts) {
|
||||
if (FIELD_EX64(env->msr, MSR, TS)) {
|
||||
for (i = 0; i < ARRAY_SIZE(env->tm_gpr); i++) {
|
||||
kvm_get_one_reg(cs, KVM_REG_PPC_TM_GPR(i), &env->tm_gpr[i]);
|
||||
}
|
||||
|
@ -417,7 +417,7 @@ static bool tm_needed(void *opaque)
|
||||
{
|
||||
PowerPCCPU *cpu = opaque;
|
||||
CPUPPCState *env = &cpu->env;
|
||||
return msr_ts;
|
||||
return FIELD_EX64(env->msr, MSR, TS);
|
||||
}
|
||||
|
||||
static const VMStateDescription vmstate_tm = {
|
||||
|
Loading…
Reference in New Issue
Block a user