aboutsummaryrefslogtreecommitdiff
path: root/target/ppc/helper_regs.c
diff options
context:
space:
mode:
authorVíctor Colombo <victor.colombo@eldorado.org.br>2022-05-04 18:05:34 -0300
committerDaniel Henrique Barboza <danielhb413@gmail.com>2022-05-05 15:36:17 -0300
commite4eea6ef667a9bf75114ad860d0e6b239b74b537 (patch)
treebfb1314095aa9019f3f460b059c1e58ee685bc3f /target/ppc/helper_regs.c
parent4d979c9ffbe19931bd8b44810eb3c1c396798911 (diff)
downloadqemu-e4eea6ef667a9bf75114ad860d0e6b239b74b537.zip
qemu-e4eea6ef667a9bf75114ad860d0e6b239b74b537.tar.gz
qemu-e4eea6ef667a9bf75114ad860d0e6b239b74b537.tar.bz2
target/ppc: Remove msr_dr macro
msr_dr 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-16-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Diffstat (limited to 'target/ppc/helper_regs.c')
-rw-r--r--target/ppc/helper_regs.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/target/ppc/helper_regs.c b/target/ppc/helper_regs.c
index e40078c..b150b78 100644
--- a/target/ppc/helper_regs.c
+++ b/target/ppc/helper_regs.c
@@ -227,8 +227,7 @@ int hreg_store_msr(CPUPPCState *env, target_ulong value, int alter_hv)
value &= ~MSR_HVB;
value |= env->msr & MSR_HVB;
}
- if (((value ^ env->msr) & R_MSR_IR_MASK) ||
- ((value >> MSR_DR) & 1) != msr_dr) {
+ if ((value ^ env->msr) & (R_MSR_IR_MASK | R_MSR_DR_MASK)) {
cpu_interrupt_exittb(cs);
}
if ((env->mmu_model == POWERPC_MMU_BOOKE ||