target/ppc: Remove msr_ile macro
msr_ile 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-7-victor.colombo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
parent
26363616c6
commit
3868540f05
@ -354,6 +354,7 @@ typedef enum {
|
|||||||
#define MSR_RI 1 /* Recoverable interrupt 1 */
|
#define MSR_RI 1 /* Recoverable interrupt 1 */
|
||||||
#define MSR_LE 0 /* Little-endian mode 1 hflags */
|
#define MSR_LE 0 /* Little-endian mode 1 hflags */
|
||||||
|
|
||||||
|
FIELD(MSR, ILE, MSR_ILE, 1)
|
||||||
FIELD(MSR, PR, MSR_PR, 1)
|
FIELD(MSR, PR, MSR_PR, 1)
|
||||||
FIELD(MSR, DS, MSR_DS, 1)
|
FIELD(MSR, DS, MSR_DS, 1)
|
||||||
FIELD(MSR, LE, MSR_LE, 1)
|
FIELD(MSR, LE, MSR_LE, 1)
|
||||||
@ -477,7 +478,6 @@ FIELD(MSR, LE, MSR_LE, 1)
|
|||||||
#define msr_gs ((env->msr >> MSR_GS) & 1)
|
#define msr_gs ((env->msr >> MSR_GS) & 1)
|
||||||
#define msr_pow ((env->msr >> MSR_POW) & 1)
|
#define msr_pow ((env->msr >> MSR_POW) & 1)
|
||||||
#define msr_ce ((env->msr >> MSR_CE) & 1)
|
#define msr_ce ((env->msr >> MSR_CE) & 1)
|
||||||
#define msr_ile ((env->msr >> MSR_ILE) & 1)
|
|
||||||
#define msr_ee ((env->msr >> MSR_EE) & 1)
|
#define msr_ee ((env->msr >> MSR_EE) & 1)
|
||||||
#define msr_fp ((env->msr >> MSR_FP) & 1)
|
#define msr_fp ((env->msr >> MSR_FP) & 1)
|
||||||
#define msr_me ((env->msr >> MSR_ME) & 1)
|
#define msr_me ((env->msr >> MSR_ME) & 1)
|
||||||
@ -2679,7 +2679,7 @@ static inline bool ppc_interrupts_little_endian(PowerPCCPU *cpu, bool hv)
|
|||||||
} else if (pcc->lpcr_mask & LPCR_ILE) {
|
} else if (pcc->lpcr_mask & LPCR_ILE) {
|
||||||
ile = !!(env->spr[SPR_LPCR] & LPCR_ILE);
|
ile = !!(env->spr[SPR_LPCR] & LPCR_ILE);
|
||||||
} else {
|
} else {
|
||||||
ile = !!(msr_ile);
|
ile = FIELD_EX64(env->msr, MSR, ILE);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ile;
|
return ile;
|
||||||
|
Loading…
Reference in New Issue
Block a user