target/ppc: Remove type argument from ppc6xx_tlb_check

We can now use MMU_INST_FETCH from access_type for this.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210518201146.794854-10-richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
Richard Henderson 2021-05-18 15:11:31 -05:00 committed by David Gibson
parent 574c5585e3
commit f3f5794d79

View File

@ -288,8 +288,7 @@ static void ppc6xx_tlb_store(CPUPPCState *env, target_ulong EPN, int way,
} }
static int ppc6xx_tlb_check(CPUPPCState *env, mmu_ctx_t *ctx, static int ppc6xx_tlb_check(CPUPPCState *env, mmu_ctx_t *ctx,
target_ulong eaddr, target_ulong eaddr, MMUAccessType access_type)
MMUAccessType access_type, int type)
{ {
ppc6xx_tlb_t *tlb; ppc6xx_tlb_t *tlb;
int nr, best, way; int nr, best, way;
@ -298,8 +297,7 @@ static int ppc6xx_tlb_check(CPUPPCState *env, mmu_ctx_t *ctx,
best = -1; best = -1;
ret = -1; /* No TLB found */ ret = -1; /* No TLB found */
for (way = 0; way < env->nb_ways; way++) { for (way = 0; way < env->nb_ways; way++) {
nr = ppc6xx_tlb_getnum(env, eaddr, way, nr = ppc6xx_tlb_getnum(env, eaddr, way, access_type == MMU_INST_FETCH);
type == ACCESS_CODE ? 1 : 0);
tlb = &env->tlb.tlb6[nr]; tlb = &env->tlb.tlb6[nr];
/* This test "emulates" the PTE index match for hardware TLBs */ /* This test "emulates" the PTE index match for hardware TLBs */
if ((eaddr & TARGET_PAGE_MASK) != tlb->EPN) { if ((eaddr & TARGET_PAGE_MASK) != tlb->EPN) {
@ -314,7 +312,7 @@ static int ppc6xx_tlb_check(CPUPPCState *env, mmu_ctx_t *ctx,
pte_is_valid(tlb->pte0) ? "valid" : "inval", pte_is_valid(tlb->pte0) ? "valid" : "inval",
tlb->EPN, eaddr, tlb->pte1, tlb->EPN, eaddr, tlb->pte1,
access_type == MMU_DATA_STORE ? 'S' : 'L', access_type == MMU_DATA_STORE ? 'S' : 'L',
type == ACCESS_CODE ? 'I' : 'D'); access_type == MMU_INST_FETCH ? 'I' : 'D');
switch (ppc6xx_tlb_pte_check(ctx, tlb->pte0, tlb->pte1, switch (ppc6xx_tlb_pte_check(ctx, tlb->pte0, tlb->pte1,
0, access_type)) { 0, access_type)) {
case -3: case -3:
@ -503,7 +501,7 @@ static int get_segment_6xx_tlb(CPUPPCState *env, mmu_ctx_t *ctx,
/* Initialize real address with an invalid value */ /* Initialize real address with an invalid value */
ctx->raddr = (hwaddr)-1ULL; ctx->raddr = (hwaddr)-1ULL;
/* Software TLB search */ /* Software TLB search */
ret = ppc6xx_tlb_check(env, ctx, eaddr, access_type, type); ret = ppc6xx_tlb_check(env, ctx, eaddr, access_type);
#if defined(DUMP_PAGE_TABLES) #if defined(DUMP_PAGE_TABLES)
if (qemu_loglevel_mask(CPU_LOG_MMU)) { if (qemu_loglevel_mask(CPU_LOG_MMU)) {
CPUState *cs = env_cpu(env); CPUState *cs = env_cpu(env);