All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Nicholas Piggin" <npiggin@gmail.com>
To: "BALATON Zoltan" <balaton@eik.bme.hu>, <qemu-devel@nongnu.org>,
	<qemu-ppc@nongnu.org>
Cc: "Daniel Henrique Barboza" <danielhb413@gmail.com>
Subject: Re: [PATCH v4 11/33] target/ppc/mmu_common.c: Move some debug logging
Date: Thu, 09 May 2024 16:01:47 +1000	[thread overview]
Message-ID: <D14VVYX2BVWJ.R043K7RLC59V@gmail.com> (raw)
In-Reply-To: <5a82816a6aa18887e48f9d0b788f99f55277a980.1715209155.git.balaton@eik.bme.hu>

On Thu May 9, 2024 at 9:36 AM AEST, BALATON Zoltan wrote:
> Move the debug logging within ppc6xx_tlb_check() from after its only
> call to simplify the caller.
>
> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>

> ---
>  target/ppc/mmu_common.c | 54 ++++++++++++++++++-----------------------
>  1 file changed, 24 insertions(+), 30 deletions(-)
>
> diff --git a/target/ppc/mmu_common.c b/target/ppc/mmu_common.c
> index ba60b4902b..89bfd9aa45 100644
> --- a/target/ppc/mmu_common.c
> +++ b/target/ppc/mmu_common.c
> @@ -225,17 +225,14 @@ static int ppc6xx_tlb_check(CPUPPCState *env, mmu_ctx_t *ctx,
>                        access_type == MMU_INST_FETCH ? 'I' : 'D');
>          switch (ppc6xx_tlb_pte_check(ctx, tlb->pte0, tlb->pte1,
>                                       0, access_type)) {
> -        case -3:
> -            /* TLB inconsistency */
> -            return -1;
>          case -2:
>              /* Access violation */
>              ret = -2;
>              best = nr;
>              break;
> -        case -1:
> +        case -1: /* No match */
> +        case -3: /* TLB inconsistency */
>          default:
> -            /* No match */
>              break;
>          case 0:
>              /* access granted */
> @@ -251,14 +248,34 @@ static int ppc6xx_tlb_check(CPUPPCState *env, mmu_ctx_t *ctx,
>          }
>      }
>      if (best != -1) {
> -    done:
> +done:
>          qemu_log_mask(CPU_LOG_MMU, "found TLB at addr " HWADDR_FMT_plx
>                        " prot=%01x ret=%d\n",
>                        ctx->raddr & TARGET_PAGE_MASK, ctx->prot, ret);
>          /* Update page flags */
>          pte_update_flags(ctx, &env->tlb.tlb6[best].pte1, ret, access_type);
>      }
> -
> +#if defined(DUMP_PAGE_TABLES)
> +    if (qemu_loglevel_mask(CPU_LOG_MMU)) {
> +        CPUState *cs = env_cpu(env);
> +        hwaddr base = ppc_hash32_hpt_base(env_archcpu(env));
> +        hwaddr len = ppc_hash32_hpt_mask(env_archcpu(env)) + 0x80;
> +        uint32_t a0, a1, a2, a3;
> +
> +        qemu_log("Page table: " HWADDR_FMT_plx " len " HWADDR_FMT_plx "\n",
> +                 base, len);
> +        for (hwaddr curaddr = base; curaddr < base + len; curaddr += 16) {
> +            a0 = ldl_phys(cs->as, curaddr);
> +            a1 = ldl_phys(cs->as, curaddr + 4);
> +            a2 = ldl_phys(cs->as, curaddr + 8);
> +            a3 = ldl_phys(cs->as, curaddr + 12);
> +            if (a0 != 0 || a1 != 0 || a2 != 0 || a3 != 0) {
> +                qemu_log(HWADDR_FMT_plx ": %08x %08x %08x %08x\n",
> +                         curaddr, a0, a1, a2, a3);
> +            }
> +        }
> +    }
> +#endif
>      return ret;
>  }
>  
> @@ -420,29 +437,6 @@ static int mmu6xx_get_physical_address(CPUPPCState *env, mmu_ctx_t *ctx,
>          ctx->raddr = (hwaddr)-1ULL;
>          /* Software TLB search */
>          ret = ppc6xx_tlb_check(env, ctx, eaddr, access_type);
> -#if defined(DUMP_PAGE_TABLES)
> -        if (qemu_loglevel_mask(CPU_LOG_MMU)) {
> -            CPUState *cs = env_cpu(env);
> -            hwaddr curaddr;
> -            uint32_t a0, a1, a2, a3;
> -
> -            qemu_log("Page table: " HWADDR_FMT_plx " len " HWADDR_FMT_plx "\n",
> -                     ppc_hash32_hpt_base(cpu), ppc_hash32_hpt_mask(cpu) + 0x80);
> -            for (curaddr = ppc_hash32_hpt_base(cpu);
> -                 curaddr < (ppc_hash32_hpt_base(cpu)
> -                            + ppc_hash32_hpt_mask(cpu) + 0x80);
> -                 curaddr += 16) {
> -                a0 = ldl_phys(cs->as, curaddr);
> -                a1 = ldl_phys(cs->as, curaddr + 4);
> -                a2 = ldl_phys(cs->as, curaddr + 8);
> -                a3 = ldl_phys(cs->as, curaddr + 12);
> -                if (a0 != 0 || a1 != 0 || a2 != 0 || a3 != 0) {
> -                    qemu_log(HWADDR_FMT_plx ": %08x %08x %08x %08x\n",
> -                             curaddr, a0, a1, a2, a3);
> -                }
> -            }
> -        }
> -#endif
>      } else {
>          qemu_log_mask(CPU_LOG_MMU, "direct store...\n");
>          /* Direct-store segment : absolutely *BUGGY* for now */



  reply	other threads:[~2024-05-09  6:02 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-08 23:36 [PATCH v4 00/33] Misc PPC exception and BookE MMU clean ups BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 01/33] target/ppc: Fix gen_sc to use correct nip BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 02/33] target/ppc: Move patching nip from exception handler to helper_scv BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 03/33] target/ppc: Simplify syscall exception handlers BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 04/33] target/ppc: Remove unused helper BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 05/33] target/ppc/mmu_common.c: Move calculation of a value closer to its usage BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 06/33] target/ppc/mmu_common.c: Remove unneeded local variable BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 07/33] target/ppc/mmu_common.c: Simplify checking for real mode BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 08/33] target/ppc/mmu_common.c: Drop cases for unimplemented MPC8xx MMU BALATON Zoltan
2024-05-09  6:01   ` Nicholas Piggin
2024-05-08 23:36 ` [PATCH v4 09/33] target/ppc/mmu_common.c: Introduce mmu6xx_get_physical_address() BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 10/33] target/ppc/mmu_common.c: Move else branch to avoid large if block BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 11/33] target/ppc/mmu_common.c: Move some debug logging BALATON Zoltan
2024-05-09  6:01   ` Nicholas Piggin [this message]
2024-05-08 23:36 ` [PATCH v4 12/33] target/ppc/mmu_common.c: Eliminate ret from mmu6xx_get_physical_address() BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 13/33] target/ppc/mmu_common.c: Split out BookE cases before checking real mode BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 14/33] target/ppc/mmu_common.c: Split off real mode cases in get_physical_address_wtlb() BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 15/33] target/ppc/mmu_common.c: Inline and remove check_physical() BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 16/33] target/ppc/mmu_common.c: Fix misindented qemu_log_mask() calls BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 17/33] target/ppc/mmu_common.c: Deindent ppc_jumbo_xlate() BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 18/33] target/ppc/mmu_common.c: Replace hard coded constants in ppc_jumbo_xlate() BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 19/33] target/ppc/mmu_common.c: Don't use mmu_ctx_t for mmu40x_get_physical_address() BALATON Zoltan
2024-05-09  6:13   ` Nicholas Piggin
2024-05-08 23:36 ` [PATCH v4 20/33] target/ppc/mmu_common.c: Don't use mmu_ctx_t in mmubooke_get_physical_address() BALATON Zoltan
2024-05-09  6:13   ` Nicholas Piggin
2024-05-08 23:36 ` [PATCH v4 21/33] target/ppc/mmu_common.c: Don't use mmu_ctx_t in mmubooke206_get_physical_address() BALATON Zoltan
2024-05-09  6:14   ` Nicholas Piggin
2024-05-08 23:36 ` [PATCH v4 22/33] target/ppc/mmu_common.c: Make get_physical_address_wtlb() static BALATON Zoltan
2024-05-09  6:17   ` Nicholas Piggin
2024-05-08 23:36 ` [PATCH v4 23/33] target/ppc: Remove pp_check() and reuse ppc_hash32_pp_prot() BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 24/33] target/ppc/mmu_common.c: Remove BookE from direct store handling BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 25/33] target/ppc/mmu_common.c: Split off BookE handling from ppc_jumbo_xlate() BALATON Zoltan
2024-05-09  6:17   ` Nicholas Piggin
2024-05-08 23:36 ` [PATCH v4 26/33] target/ppc/mmu_common.c: Simplify ppc_booke_xlate() part 1 BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 27/33] target/ppc/mmu_common.c: Simplify ppc_booke_xlate() part 2 BALATON Zoltan
2024-05-09  6:19   ` Nicholas Piggin
2024-05-08 23:36 ` [PATCH v4 28/33] target/ppc: Remove id_tlbs flag from CPU env BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 29/33] target/ppc: Split off common embedded TLB init BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 30/33] target/ppc/mmu-hash32.c: Drop a local variable BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 31/33] target/ppc/mmu-radix64.c: " BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 32/33] target/ppc: Add a macro to check for page protection bit BALATON Zoltan
2024-05-08 23:36 ` [PATCH v4 33/33] target/ppc: Move out BookE and related MMU functions from mmu_common.c BALATON Zoltan
2024-05-09  6:19   ` Nicholas Piggin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D14VVYX2BVWJ.R043K7RLC59V@gmail.com \
    --to=npiggin@gmail.com \
    --cc=balaton@eik.bme.hu \
    --cc=danielhb413@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.