diff mbox series

[26/28] target/ppc: Use cpu_*_mmuidx_ra instead of MMU_MODE*_SUFFIX

Message ID 20191212040039.26546-27-richard.henderson@linaro.org
State Superseded
Headers show
Series cputlb: Remove support for MMU_MODE*_SUFFIX | expand

Commit Message

Richard Henderson Dec. 12, 2019, 4 a.m. UTC
There are only two uses.  Within dcbz_common, the local variable
mmu_idx already contains the epid computation, and we can avoid
repeating it for the store.  Within helper_icbiep, the usage is
trivially expanded using PPC_TLB_EPID_LOAD.

Cc: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

---
 target/ppc/cpu.h        |  2 --
 target/ppc/mem_helper.c | 11 ++---------
 2 files changed, 2 insertions(+), 11 deletions(-)

-- 
2.20.1

Comments

David Gibson Dec. 12, 2019, 5:13 a.m. UTC | #1
On Wed, Dec 11, 2019 at 08:00:37PM -0800, Richard Henderson wrote:
> There are only two uses.  Within dcbz_common, the local variable

> mmu_idx already contains the epid computation, and we can avoid

> repeating it for the store.  Within helper_icbiep, the usage is

> trivially expanded using PPC_TLB_EPID_LOAD.

> 

> Cc: David Gibson <david@gibson.dropbear.id.au>

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Acked-by: David Gibson <david@gibson.dropbear.id.au>


> ---

>  target/ppc/cpu.h        |  2 --

>  target/ppc/mem_helper.c | 11 ++---------

>  2 files changed, 2 insertions(+), 11 deletions(-)

> 

> diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h

> index e3e82327b7..3bd983adaa 100644

> --- a/target/ppc/cpu.h

> +++ b/target/ppc/cpu.h

> @@ -951,8 +951,6 @@ struct ppc_radix_page_info {

>   * + real/paged mode combinations. The other two modes are for

>   * external PID load/store.

>   */

> -#define MMU_MODE8_SUFFIX _epl

> -#define MMU_MODE9_SUFFIX _eps

>  #define PPC_TLB_EPID_LOAD 8

>  #define PPC_TLB_EPID_STORE 9

>  

> diff --git a/target/ppc/mem_helper.c b/target/ppc/mem_helper.c

> index 1351b53f28..56855f2381 100644

> --- a/target/ppc/mem_helper.c

> +++ b/target/ppc/mem_helper.c

> @@ -177,14 +177,7 @@ static void dcbz_common(CPUPPCState *env, target_ulong addr,

>      } else {

>          /* Slow path */

>          for (i = 0; i < dcbz_size; i += 8) {

> -            if (epid) {

> -#if !defined(CONFIG_USER_ONLY)

> -                /* Does not make sense on USER_ONLY config */

> -                cpu_stq_eps_ra(env, addr + i, 0, retaddr);

> -#endif

> -            } else {

> -                cpu_stq_data_ra(env, addr + i, 0, retaddr);

> -            }

> +            cpu_stq_mmuidx_ra(env, addr + i, 0, mmu_idx, retaddr);

>          }

>      }

>  }

> @@ -216,7 +209,7 @@ void helper_icbiep(CPUPPCState *env, target_ulong addr)

>  #if !defined(CONFIG_USER_ONLY)

>      /* See comments above */

>      addr &= ~(env->dcache_line_size - 1);

> -    cpu_ldl_epl_ra(env, addr, GETPC());

> +    cpu_ldl_mmuidx_ra(env, addr, PPC_TLB_EPID_LOAD, GETPC());

>  #endif

>  }

>  


-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson
diff mbox series

Patch

diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h
index e3e82327b7..3bd983adaa 100644
--- a/target/ppc/cpu.h
+++ b/target/ppc/cpu.h
@@ -951,8 +951,6 @@  struct ppc_radix_page_info {
  * + real/paged mode combinations. The other two modes are for
  * external PID load/store.
  */
-#define MMU_MODE8_SUFFIX _epl
-#define MMU_MODE9_SUFFIX _eps
 #define PPC_TLB_EPID_LOAD 8
 #define PPC_TLB_EPID_STORE 9
 
diff --git a/target/ppc/mem_helper.c b/target/ppc/mem_helper.c
index 1351b53f28..56855f2381 100644
--- a/target/ppc/mem_helper.c
+++ b/target/ppc/mem_helper.c
@@ -177,14 +177,7 @@  static void dcbz_common(CPUPPCState *env, target_ulong addr,
     } else {
         /* Slow path */
         for (i = 0; i < dcbz_size; i += 8) {
-            if (epid) {
-#if !defined(CONFIG_USER_ONLY)
-                /* Does not make sense on USER_ONLY config */
-                cpu_stq_eps_ra(env, addr + i, 0, retaddr);
-#endif
-            } else {
-                cpu_stq_data_ra(env, addr + i, 0, retaddr);
-            }
+            cpu_stq_mmuidx_ra(env, addr + i, 0, mmu_idx, retaddr);
         }
     }
 }
@@ -216,7 +209,7 @@  void helper_icbiep(CPUPPCState *env, target_ulong addr)
 #if !defined(CONFIG_USER_ONLY)
     /* See comments above */
     addr &= ~(env->dcache_line_size - 1);
-    cpu_ldl_epl_ra(env, addr, GETPC());
+    cpu_ldl_mmuidx_ra(env, addr, PPC_TLB_EPID_LOAD, GETPC());
 #endif
 }