Message ID | 20210602192604.90846-4-lucas.araujo@eldorado.org.br (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | target/ppc: mmu cleanup | expand |
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 */ >
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 */
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> --- 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(-)