target/ppc: moved ppc_store_lpcr and ppc_store_msr to cpu.c
These functions are used in hw/ppc logic, during machine startup, which means it must be compiled when --disable-tcg is selected, and so it has been moved into a common code file Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Message-Id: <20210521201759.85475-3-bruno.larsen@eldorado.org.br> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
dbf2e70a30
commit
a3f5c31539
|
@ -24,6 +24,7 @@
|
||||||
#include "exec/log.h"
|
#include "exec/log.h"
|
||||||
#include "fpu/softfloat-helpers.h"
|
#include "fpu/softfloat-helpers.h"
|
||||||
#include "mmu-hash64.h"
|
#include "mmu-hash64.h"
|
||||||
|
#include "helper_regs.h"
|
||||||
|
|
||||||
target_ulong cpu_read_xer(CPUPPCState *env)
|
target_ulong cpu_read_xer(CPUPPCState *env)
|
||||||
{
|
{
|
||||||
|
@ -92,3 +93,19 @@ void ppc_store_sdr1(CPUPPCState *env, target_ulong value)
|
||||||
env->spr[SPR_SDR1] = value;
|
env->spr[SPR_SDR1] = value;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_SOFTMMU */
|
#endif /* CONFIG_SOFTMMU */
|
||||||
|
|
||||||
|
/* GDBstub can read and write MSR... */
|
||||||
|
void ppc_store_msr(CPUPPCState *env, target_ulong value)
|
||||||
|
{
|
||||||
|
hreg_store_msr(env, value, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ppc_store_lpcr(PowerPCCPU *cpu, target_ulong val)
|
||||||
|
{
|
||||||
|
PowerPCCPUClass *pcc = POWERPC_CPU_GET_CLASS(cpu);
|
||||||
|
CPUPPCState *env = &cpu->env;
|
||||||
|
|
||||||
|
env->spr[SPR_LPCR] = val & pcc->lpcr_mask;
|
||||||
|
/* The gtse bit affects hflags */
|
||||||
|
hreg_compute_hflags(env);
|
||||||
|
}
|
||||||
|
|
|
@ -255,22 +255,6 @@ target_ulong helper_clcs(CPUPPCState *env, uint32_t arg)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* Special registers manipulation */
|
/* Special registers manipulation */
|
||||||
|
|
||||||
/* GDBstub can read and write MSR... */
|
|
||||||
void ppc_store_msr(CPUPPCState *env, target_ulong value)
|
|
||||||
{
|
|
||||||
hreg_store_msr(env, value, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ppc_store_lpcr(PowerPCCPU *cpu, target_ulong val)
|
|
||||||
{
|
|
||||||
PowerPCCPUClass *pcc = POWERPC_CPU_GET_CLASS(cpu);
|
|
||||||
CPUPPCState *env = &cpu->env;
|
|
||||||
|
|
||||||
env->spr[SPR_LPCR] = val & pcc->lpcr_mask;
|
|
||||||
/* The gtse bit affects hflags */
|
|
||||||
hreg_compute_hflags(env);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This code is lifted from MacOnLinux. It is called whenever THRM1,2
|
* This code is lifted from MacOnLinux. It is called whenever THRM1,2
|
||||||
* or 3 is read an fixes up the values in such a way that will make
|
* or 3 is read an fixes up the values in such a way that will make
|
||||||
|
|
Loading…
Reference in a new issue