On Thu May 2, 2024 at 9:43 AM AEST, BALATON Zoltan wrote: > This function is similar to mmubooke_get_physical_address() and can be > simplified the same way. > > Signed-off-by: BALATON Zoltan <bala...@eik.bme.hu> > --- > target/ppc/mmu_common.c | 28 ++++++++++------------------ > 1 file changed, 10 insertions(+), 18 deletions(-) > > diff --git a/target/ppc/mmu_common.c b/target/ppc/mmu_common.c > index 760e4072b2..ebf18a751c 100644 > --- a/target/ppc/mmu_common.c > +++ b/target/ppc/mmu_common.c > @@ -872,15 +872,11 @@ static int mmubooke206_get_physical_address(CPUPPCState > *env, mmu_ctx_t *ctx, > int mmu_idx) > { > ppcmas_tlb_t *tlb; > - hwaddr raddr; > - int i, j, ret; > - > - ret = -1; > - raddr = (hwaddr)-1ULL; > + hwaddr raddr = (hwaddr)-1ULL; > + int i, j, ways, ret = -1; > > for (i = 0; i < BOOKE206_MAX_TLBN; i++) { > - int ways = booke206_tlb_ways(env, i);
Don't need to bring the ways variable into a larger scope I think? Otherwise, Reviewed-by: Nicholas Piggin <npig...@gmail.com> > - > + ways = booke206_tlb_ways(env, i); > for (j = 0; j < ways; j++) { > tlb = booke206_get_tlbm(env, i, address, j); > if (!tlb) { > @@ -889,6 +885,9 @@ static int mmubooke206_get_physical_address(CPUPPCState > *env, mmu_ctx_t *ctx, > ret = mmubooke206_check_tlb(env, tlb, &raddr, &ctx->prot, > address, > access_type, mmu_idx); > if (ret != -1) { > + if (ret >= 0) { > + ctx->raddr = raddr; > + } > goto found_tlb; > } > } > @@ -896,17 +895,10 @@ static int mmubooke206_get_physical_address(CPUPPCState > *env, mmu_ctx_t *ctx, > > found_tlb: > > - if (ret >= 0) { > - ctx->raddr = raddr; > - qemu_log_mask(CPU_LOG_MMU, "%s: access granted " TARGET_FMT_lx > - " => " HWADDR_FMT_plx " %d %d\n", __func__, address, > - ctx->raddr, ctx->prot, ret); > - } else { > - qemu_log_mask(CPU_LOG_MMU, "%s: access refused " TARGET_FMT_lx > - " => " HWADDR_FMT_plx " %d %d\n", __func__, address, > - raddr, ctx->prot, ret); > - } > - > + qemu_log_mask(CPU_LOG_MMU, "%s: access %s " TARGET_FMT_lx " => " > + HWADDR_FMT_plx " %d %d\n", __func__, > + ret < 0 ? "refused" : "granted", address, raddr, > + ctx->prot, ret); > return ret; > } >