[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 26/28] target/ppc: Use cpu_*_mmuidx_ra instead of MMU_MODE
From: |
Alex Bennée |
Subject: |
Re: [PATCH v2 26/28] target/ppc: Use cpu_*_mmuidx_ra instead of MMU_MODE*_SUFFIX |
Date: |
Fri, 20 Dec 2019 19:51:56 +0000 |
User-agent: |
mu4e 1.3.5; emacs 27.0.50 |
Richard Henderson <address@hidden> writes:
> 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.
>
> Acked-by: David Gibson <address@hidden>
> Signed-off-by: Richard Henderson <address@hidden>
> ---
> 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);
I assume the possibility of a user-mode with epid is elided in the
translation phase by avoiding gen_dcbzep although I can't quite see
where they get called from. Anyway:
Reviewed-by: Alex Bennée <address@hidden>
> }
> }
> }
> @@ -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
> }
--
Alex Bennée
- Re: [PATCH v2 21/28] target/unicore32: Remove MMU_MODE{0,1}_SUFFIX, (continued)
- [PATCH v2 22/28] target/xtensa: Remove MMU_MODE{0,1,2,3}_SUFFIX, Richard Henderson, 2019/12/16
- [PATCH v2 23/28] target/m68k: Use cpu_*_mmuidx_ra instead of MMU_MODE{0, 1}_SUFFIX, Richard Henderson, 2019/12/16
- [PATCH v2 24/28] target/mips: Use cpu_*_mmuidx_ra instead of MMU_MODE*_SUFFIX, Richard Henderson, 2019/12/16
- [PATCH v2 25/28] target/s390x: Use cpu_*_mmuidx_ra instead of MMU_MODE*_SUFFIX, Richard Henderson, 2019/12/16
- [PATCH v2 26/28] target/ppc: Use cpu_*_mmuidx_ra instead of MMU_MODE*_SUFFIX, Richard Henderson, 2019/12/16
- Re: [PATCH v2 26/28] target/ppc: Use cpu_*_mmuidx_ra instead of MMU_MODE*_SUFFIX,
Alex Bennée <=
- [PATCH v2 27/28] cputlb: Remove support for MMU_MODE*_SUFFIX, Richard Henderson, 2019/12/16
- [PATCH v2 28/28] cputlb: Expand cpu_ldst_template.h in cputlb.c, Richard Henderson, 2019/12/16