mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
ppc: Rename cpu_version to compat_pvr
The 'cpu_version' field in PowerPCCPU is badly named. It's named after the 'cpu-version' device tree property where it is advertised, but that meaning may not be obvious in most places it appears. Worse, it doesn't even really correspond to that device tree property. The property contains either the processor's PVR, or, if the CPU is running in a compatibility mode, a special "logical PVR" representing which mode. Rename the cpu_version field, and a number of related variables to compat_pvr to make this clearer. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
1d1be34d26
commit
d6e166c082
6 changed files with 29 additions and 29 deletions
|
@ -1158,7 +1158,7 @@ typedef struct PPCVirtualHypervisorClass PPCVirtualHypervisorClass;
|
|||
* @env: #CPUPPCState
|
||||
* @cpu_dt_id: CPU index used in the device tree. KVM uses this index too
|
||||
* @max_compat: Maximal supported logical PVR from the command line
|
||||
* @cpu_version: Current logical PVR, zero if in "raw" mode
|
||||
* @compat_pvr: Current logical PVR, zero if in "raw" mode
|
||||
*
|
||||
* A PowerPC CPU.
|
||||
*/
|
||||
|
@ -1170,7 +1170,7 @@ struct PowerPCCPU {
|
|||
CPUPPCState env;
|
||||
int cpu_dt_id;
|
||||
uint32_t max_compat;
|
||||
uint32_t cpu_version;
|
||||
uint32_t compat_pvr;
|
||||
PPCVirtualHypervisor *vhyp;
|
||||
|
||||
/* Fields related to migration compatibility hacks */
|
||||
|
@ -1252,7 +1252,7 @@ void ppc_store_msr (CPUPPCState *env, target_ulong value);
|
|||
void ppc_cpu_list (FILE *f, fprintf_function cpu_fprintf);
|
||||
int ppc_get_compat_smt_threads(PowerPCCPU *cpu);
|
||||
#if defined(TARGET_PPC64)
|
||||
void ppc_set_compat(PowerPCCPU *cpu, uint32_t cpu_version, Error **errp);
|
||||
void ppc_set_compat(PowerPCCPU *cpu, uint32_t compat_pvr, Error **errp);
|
||||
#endif
|
||||
|
||||
/* Time-base and decrementer management */
|
||||
|
|
|
@ -2108,9 +2108,9 @@ void kvmppc_set_papr(PowerPCCPU *cpu)
|
|||
cap_papr = 1;
|
||||
}
|
||||
|
||||
int kvmppc_set_compat(PowerPCCPU *cpu, uint32_t cpu_version)
|
||||
int kvmppc_set_compat(PowerPCCPU *cpu, uint32_t compat_pvr)
|
||||
{
|
||||
return kvm_set_one_reg(CPU(cpu), KVM_REG_PPC_ARCH_COMPAT, &cpu_version);
|
||||
return kvm_set_one_reg(CPU(cpu), KVM_REG_PPC_ARCH_COMPAT, &compat_pvr);
|
||||
}
|
||||
|
||||
void kvmppc_set_mpic_proxy(PowerPCCPU *cpu, int mpic_proxy)
|
||||
|
|
|
@ -26,7 +26,7 @@ void kvmppc_enable_logical_ci_hcalls(void);
|
|||
void kvmppc_enable_set_mode_hcall(void);
|
||||
void kvmppc_enable_clear_ref_mod_hcalls(void);
|
||||
void kvmppc_set_papr(PowerPCCPU *cpu);
|
||||
int kvmppc_set_compat(PowerPCCPU *cpu, uint32_t cpu_version);
|
||||
int kvmppc_set_compat(PowerPCCPU *cpu, uint32_t compat_pvr);
|
||||
void kvmppc_set_mpic_proxy(PowerPCCPU *cpu, int mpic_proxy);
|
||||
int kvmppc_smt_threads(void);
|
||||
int kvmppc_clear_tsr_bits(PowerPCCPU *cpu, uint32_t tsr_bits);
|
||||
|
@ -123,7 +123,7 @@ static inline void kvmppc_set_papr(PowerPCCPU *cpu)
|
|||
{
|
||||
}
|
||||
|
||||
static inline int kvmppc_set_compat(PowerPCCPU *cpu, uint32_t cpu_version)
|
||||
static inline int kvmppc_set_compat(PowerPCCPU *cpu, uint32_t compat_pvr)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -9957,7 +9957,7 @@ int ppc_get_compat_smt_threads(PowerPCCPU *cpu)
|
|||
CPUState *cs = CPU(cpu);
|
||||
int ret = MIN(cs->nr_threads, kvmppc_smt_threads());
|
||||
|
||||
switch (cpu->cpu_version) {
|
||||
switch (cpu->compat_pvr) {
|
||||
case CPU_POWERPC_LOGICAL_2_05:
|
||||
ret = MIN(ret, 2);
|
||||
break;
|
||||
|
@ -9973,15 +9973,15 @@ int ppc_get_compat_smt_threads(PowerPCCPU *cpu)
|
|||
}
|
||||
|
||||
#ifdef TARGET_PPC64
|
||||
void ppc_set_compat(PowerPCCPU *cpu, uint32_t cpu_version, Error **errp)
|
||||
void ppc_set_compat(PowerPCCPU *cpu, uint32_t compat_pvr, Error **errp)
|
||||
{
|
||||
int ret = 0;
|
||||
CPUPPCState *env = &cpu->env;
|
||||
PowerPCCPUClass *host_pcc;
|
||||
|
||||
cpu->cpu_version = cpu_version;
|
||||
cpu->compat_pvr = compat_pvr;
|
||||
|
||||
switch (cpu_version) {
|
||||
switch (compat_pvr) {
|
||||
case CPU_POWERPC_LOGICAL_2_05:
|
||||
env->spr[SPR_PCR] = PCR_TM_DIS | PCR_VSX_DIS | PCR_COMPAT_2_07 |
|
||||
PCR_COMPAT_2_06 | PCR_COMPAT_2_05;
|
||||
|
@ -10004,7 +10004,7 @@ void ppc_set_compat(PowerPCCPU *cpu, uint32_t cpu_version, Error **errp)
|
|||
}
|
||||
|
||||
if (kvm_enabled()) {
|
||||
ret = kvmppc_set_compat(cpu, cpu->cpu_version);
|
||||
ret = kvmppc_set_compat(cpu, cpu->compat_pvr);
|
||||
if (ret < 0) {
|
||||
error_setg_errno(errp, -ret,
|
||||
"Unable to set CPU compatibility mode in KVM");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue