All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Cédric Le Goater" <clg@kaod.org>
To: David Gibson <david@gibson.dropbear.id.au>,
	qemu-devel@nongnu.org, groug@kaod.org, philmd@redhat.com
Cc: aik@ozlabs.ru, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	qemu-ppc@nongnu.org, lvivier@redhat.com, paulus@samba.org
Subject: Re: [PATCH v2 10/10] target/ppc: Only calculate RMLS derived RMA limit on demand
Date: Wed, 8 Jan 2020 09:31:21 +0100	[thread overview]
Message-ID: <01aa0955-570e-7e7b-c773-2d05611f62c1@kaod.org> (raw)
In-Reply-To: <20200107044827.471355-11-david@gibson.dropbear.id.au>

On 1/7/20 5:48 AM, David Gibson wrote:
> When the LPCR is written, we update the env->rmls field with the RMA limit
> it implies.  Simplify things by just calculating the value directly from
> the LPCR value when we need it.
> 
> It's possible this is a little slower, but it's unlikely to be significant,
> since this is only for real mode accesses in a translation configuration
> that's not used very often, and the whole thing is behind the qemu TLB
> anyway.  Therefore, keeping the number of state variables down and not
> having to worry about making sure it's always in sync seems the better
> option.
> 
> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>

Reviewed-by: Cédric Le Goater <clg@kaod.org>


> ---
>  target/ppc/cpu.h        | 1 -
>  target/ppc/mmu-hash64.c | 8 +++++---
>  2 files changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h
> index 2de9e2fa2b..2a79b97bd8 100644
> --- a/target/ppc/cpu.h
> +++ b/target/ppc/cpu.h
> @@ -1075,7 +1075,6 @@ struct CPUPPCState {
>      uint64_t insns_flags2;
>  #if defined(TARGET_PPC64)
>      ppc_slb_t vrma_slb;
> -    target_ulong rmls;
>  #endif
>  
>      int error_code;
> diff --git a/target/ppc/mmu-hash64.c b/target/ppc/mmu-hash64.c
> index e6f24be93e..170a78bd2e 100644
> --- a/target/ppc/mmu-hash64.c
> +++ b/target/ppc/mmu-hash64.c
> @@ -842,8 +842,10 @@ int ppc_hash64_handle_mmu_fault(PowerPCCPU *cpu, vaddr eaddr,
>  
>              goto skip_slb_search;
>          } else {
> +            target_ulong limit = rmls_limit(cpu);
> +
>              /* Emulated old-style RMO mode, bounds check against RMLS */
> -            if (raddr >= env->rmls) {
> +            if (raddr >= limit) {
>                  if (rwx == 2) {
>                      ppc_hash64_set_isi(cs, SRR1_PROTFAULT);
>                  } else {
> @@ -1005,8 +1007,9 @@ hwaddr ppc_hash64_get_phys_page_debug(PowerPCCPU *cpu, target_ulong addr)
>                  return -1;
>              }
>          } else {
> +            target_ulong limit = rmls_limit(cpu);
>              /* Emulated old-style RMO mode, bounds check against RMLS */
> -            if (raddr >= env->rmls) {
> +            if (raddr >= limit) {
>                  return -1;
>              }
>              return raddr | env->spr[SPR_RMOR];
> @@ -1096,7 +1099,6 @@ void ppc_store_lpcr(PowerPCCPU *cpu, target_ulong val)
>      CPUPPCState *env = &cpu->env;
>  
>      env->spr[SPR_LPCR] = val & pcc->lpcr_mask;
> -    env->rmls = rmls_limit(cpu);
>      ppc_hash64_update_vrma(cpu);
>  }
>  
> 



      reply	other threads:[~2020-01-08  8:32 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-07  4:48 [PATCH v2 00/10] target/ppc: Correct some errors with real mode handling David Gibson
2020-01-07  4:48 ` [PATCH v2 01/10] ppc: Drop PPC_EMULATE_32BITS_HYPV stub David Gibson
2020-01-07 12:52   ` Cédric Le Goater
2020-01-07 17:05   ` Greg Kurz
2020-01-07  4:48 ` [PATCH v2 02/10] ppc: Remove stub of PPC970 HID4 implementation David Gibson
2020-01-07 12:51   ` Cédric Le Goater
2020-01-07 17:32   ` Greg Kurz
2020-01-07 17:36     ` Greg Kurz
2020-01-07 18:05       ` BALATON Zoltan
2020-01-08  1:09         ` David Gibson
2020-01-08  8:29         ` Thomas Huth
2020-01-08  1:08       ` David Gibson
2020-01-08  8:11         ` Greg Kurz
2020-01-08  2:17       ` Paul Mackerras
2020-01-08 13:35   ` Greg Kurz
2020-01-07  4:48 ` [PATCH v2 03/10] target/ppc: Correct handling of real mode accesses with vhyp on hash MMU David Gibson
2020-01-14 10:22   ` Cédric Le Goater
2020-01-07  4:48 ` [PATCH v2 04/10] target/ppc: Introduce ppc_hash64_use_vrma() helper David Gibson
2020-01-07 13:24   ` Cédric Le Goater
2020-01-07  4:48 ` [PATCH v2 05/10] spapr, ppc: Remove VPM0/RMLS hacks for POWER9 David Gibson
2020-01-07 14:35   ` Cédric Le Goater
2020-01-09  7:33   ` Alexey Kardashevskiy
2020-01-13  3:38     ` David Gibson
2020-01-07  4:48 ` [PATCH v2 06/10] target/ppc: Remove RMOR register from POWER9 & POWER10 David Gibson
2020-01-07 13:39   ` Cédric Le Goater
2020-01-07  4:48 ` [PATCH v2 07/10] target/ppc: Use class fields to simplify LPCR masking David Gibson
2020-01-07 13:41   ` Cédric Le Goater
2020-01-07  4:48 ` [PATCH v2 08/10] target/ppc: Streamline calculation of RMA limit from LPCR[RMLS] David Gibson
2020-01-07 13:43   ` Cédric Le Goater
2020-01-07  4:48 ` [PATCH v2 09/10] target/ppc: Correct RMLS table David Gibson
2020-01-07 14:21   ` Cédric Le Goater
2020-01-08  1:06     ` David Gibson
2020-01-08  8:29       ` Cédric Le Goater
2020-01-09  7:46       ` Alexey Kardashevskiy
2020-01-13  3:46         ` David Gibson
2020-01-08  8:28   ` Cédric Le Goater
2020-01-07  4:48 ` [PATCH v2 10/10] target/ppc: Only calculate RMLS derived RMA limit on demand David Gibson
2020-01-08  8:31   ` Cédric Le Goater [this message]

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=01aa0955-570e-7e7b-c773-2d05611f62c1@kaod.org \
    --to=clg@kaod.org \
    --cc=aik@ozlabs.ru \
    --cc=david@gibson.dropbear.id.au \
    --cc=groug@kaod.org \
    --cc=lvivier@redhat.com \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=paulus@samba.org \
    --cc=philmd@redhat.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.