[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 3/4] target/ppc: moved ppc_store_sdr1 to mmu_common.c
From: |
David Gibson |
Subject: |
Re: [RFC PATCH 3/4] target/ppc: moved ppc_store_sdr1 to mmu_common.c |
Date: |
Mon, 7 Jun 2021 12:32:31 +1000 |
On Wed, Jun 02, 2021 at 04:26:03PM -0300, Lucas Mateus Castro (alqotel) wrote:
> Moved ppc_store_sdr1 to mmu_common.c as it was originally in
> mmu_helper.c.
>
> Signed-off-by: Lucas Mateus Castro (alqotel)
> <lucas.araujo@eldorado.org.br>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Though it will need a rebase for comments on the earlier patches in
the series.
> ---
> Talking to billionai he commented that ppc_store_sdr1 was at first in
> mmu_helper.c and was moved as part of the patches to enable the
> disable-tcg option, now it's being moved back to a file that will be
> compiled in a !TCG build.
> ---
> target/ppc/cpu.c | 28 ----------------------------
> target/ppc/mmu_common.c | 28 ++++++++++++++++++++++++++++
> 2 files changed, 28 insertions(+), 28 deletions(-)
>
> diff --git a/target/ppc/cpu.c b/target/ppc/cpu.c
> index c8e87e30f1..5ff00a6c01 100644
> --- a/target/ppc/cpu.c
> +++ b/target/ppc/cpu.c
> @@ -66,34 +66,6 @@ uint32_t ppc_get_vscr(CPUPPCState *env)
> return env->vscr | (sat << VSCR_SAT);
> }
>
> -#ifdef CONFIG_SOFTMMU
> -void ppc_store_sdr1(CPUPPCState *env, target_ulong value)
> -{
> - PowerPCCPU *cpu = env_archcpu(env);
> - qemu_log_mask(CPU_LOG_MMU, "%s: " TARGET_FMT_lx "\n", __func__, value);
> - assert(!cpu->vhyp);
> -#if defined(TARGET_PPC64)
> - if (mmu_is_64bit(env->mmu_model)) {
> - target_ulong sdr_mask = SDR_64_HTABORG | SDR_64_HTABSIZE;
> - target_ulong htabsize = value & SDR_64_HTABSIZE;
> -
> - if (value & ~sdr_mask) {
> - qemu_log_mask(LOG_GUEST_ERROR, "Invalid bits 0x"TARGET_FMT_lx
> - " set in SDR1", value & ~sdr_mask);
> - value &= sdr_mask;
> - }
> - if (htabsize > 28) {
> - qemu_log_mask(LOG_GUEST_ERROR, "Invalid HTABSIZE 0x"
> TARGET_FMT_lx
> - " stored in SDR1", htabsize);
> - return;
> - }
> - }
> -#endif /* defined(TARGET_PPC64) */
> - /* FIXME: Should check for valid HTABMASK values in 32-bit case */
> - env->spr[SPR_SDR1] = value;
> -}
> -#endif /* CONFIG_SOFTMMU */
> -
> /* GDBstub can read and write MSR... */
> void ppc_store_msr(CPUPPCState *env, target_ulong value)
> {
> diff --git a/target/ppc/mmu_common.c b/target/ppc/mmu_common.c
> index d95399d67f..50b8799d71 100644
> --- a/target/ppc/mmu_common.c
> +++ b/target/ppc/mmu_common.c
> @@ -58,6 +58,34 @@
> # define LOG_BATS(...) do { } while (0)
> #endif
>
> +#ifdef CONFIG_SOFTMMU
> +void ppc_store_sdr1(CPUPPCState *env, target_ulong value)
> +{
> + PowerPCCPU *cpu = env_archcpu(env);
> + qemu_log_mask(CPU_LOG_MMU, "%s: " TARGET_FMT_lx "\n", __func__, value);
> + assert(!cpu->vhyp);
> +#if defined(TARGET_PPC64)
> + if (mmu_is_64bit(env->mmu_model)) {
> + target_ulong sdr_mask = SDR_64_HTABORG | SDR_64_HTABSIZE;
> + target_ulong htabsize = value & SDR_64_HTABSIZE;
> +
> + if (value & ~sdr_mask) {
> + qemu_log_mask(LOG_GUEST_ERROR, "Invalid bits 0x"TARGET_FMT_lx
> + " set in SDR1", value & ~sdr_mask);
> + value &= sdr_mask;
> + }
> + if (htabsize > 28) {
> + qemu_log_mask(LOG_GUEST_ERROR, "Invalid HTABSIZE 0x"
> TARGET_FMT_lx
> + " stored in SDR1", htabsize);
> + return;
> + }
> + }
> +#endif /* defined(TARGET_PPC64) */
> + /* FIXME: Should check for valid HTABMASK values in 32-bit case */
> + env->spr[SPR_SDR1] = value;
> +}
> +#endif /* CONFIG_SOFTMMU */
> +
>
> /*****************************************************************************/
> /* PowerPC MMU emulation */
>
--
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
signature.asc
Description: PGP signature