diff options
author | BALATON Zoltan <balaton@eik.bme.hu> | 2024-05-13 01:27:37 +0200 |
---|---|---|
committer | Nicholas Piggin <npiggin@gmail.com> | 2024-05-24 09:41:17 +1000 |
commit | fef517cd8a3fb6baba15405448c4cb1dcd1b677a (patch) | |
tree | d81811c2ac1193c8d518e8aaad9596858f2dba04 | |
parent | 750fbe334237e03056fda45ab36c8b155f65d1b5 (diff) | |
download | qemu-fef517cd8a3fb6baba15405448c4cb1dcd1b677a.zip qemu-fef517cd8a3fb6baba15405448c4cb1dcd1b677a.tar.gz qemu-fef517cd8a3fb6baba15405448c4cb1dcd1b677a.tar.bz2 |
target/ppc: Simplify checking for real mode in get_physical_address_wtlb()
In get_physical_address_wtlb() the real_mode flag depends on either
the MSR[IR] or MSR[DR] bit depending on access_type. Extract just the
needed bit in a more straight forward way instead of doing unnecessary
computation.
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
-rw-r--r-- | target/ppc/mmu_common.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/target/ppc/mmu_common.c b/target/ppc/mmu_common.c index 09cbeb0..886fb6a 100644 --- a/target/ppc/mmu_common.c +++ b/target/ppc/mmu_common.c @@ -1184,8 +1184,10 @@ int get_physical_address_wtlb(CPUPPCState *env, mmu_ctx_t *ctx, int mmu_idx) { int ret = -1; - bool real_mode = (type == ACCESS_CODE && !FIELD_EX64(env->msr, MSR, IR)) || - (type != ACCESS_CODE && !FIELD_EX64(env->msr, MSR, DR)); + bool real_mode; + + real_mode = (type == ACCESS_CODE) ? !FIELD_EX64(env->msr, MSR, IR) + : !FIELD_EX64(env->msr, MSR, DR); switch (env->mmu_model) { case POWERPC_MMU_SOFT_6xx: |