target/ppc: Remove msr_de macro
msr_de 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-21-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
parent
9de754d30d
commit
67935ecdd9
@ -371,6 +371,7 @@ FIELD(MSR, PR, MSR_PR, 1)
|
||||
FIELD(MSR, FP, MSR_FP, 1)
|
||||
FIELD(MSR, ME, MSR_ME, 1)
|
||||
FIELD(MSR, FE0, MSR_FE0, 1)
|
||||
FIELD(MSR, DE, MSR_DE, 1)
|
||||
FIELD(MSR, FE1, MSR_FE1, 1)
|
||||
FIELD(MSR, EP, MSR_EP, 1)
|
||||
FIELD(MSR, IR, MSR_IR, 1)
|
||||
@ -495,8 +496,6 @@ FIELD(MSR, LE, MSR_LE, 1)
|
||||
#define HFSCR_MSGP PPC_BIT(53) /* Privileged Message Send Facilities */
|
||||
#define HFSCR_IC_MSGP 0xA
|
||||
|
||||
#define msr_de ((env->msr >> MSR_DE) & 1)
|
||||
|
||||
#define DBCR0_ICMP (1 << 27)
|
||||
#define DBCR0_BRT (1 << 26)
|
||||
#define DBSR_ICMP (1 << 27)
|
||||
|
@ -63,10 +63,10 @@ static uint32_t hreg_compute_hflags_value(CPUPPCState *env)
|
||||
|
||||
if (ppc_flags & POWERPC_FLAG_DE) {
|
||||
target_ulong dbcr0 = env->spr[SPR_BOOKE_DBCR0];
|
||||
if ((dbcr0 & DBCR0_ICMP) && msr_de) {
|
||||
if ((dbcr0 & DBCR0_ICMP) && FIELD_EX64(env->msr, MSR, DE)) {
|
||||
hflags |= 1 << HFLAGS_SE;
|
||||
}
|
||||
if ((dbcr0 & DBCR0_BRT) && msr_de) {
|
||||
if ((dbcr0 & DBCR0_BRT) && FIELD_EX64(env->msr, MSR, DE)) {
|
||||
hflags |= 1 << HFLAGS_BE;
|
||||
}
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user