diff options
| author | Alexey Kardashevskiy | 2014-06-04 14:50:53 +0200 |
|---|---|---|
| committer | Alexander Graf | 2014-06-16 13:24:44 +0200 |
| commit | 5881c296b98000f78979b2b9e9fca96543577a05 (patch) | |
| tree | d0ed4bbdf04bca9c79597a942ca5d35ede82e780 | |
| parent | target-ppc: Make use of gen_spr_power5p_lpar() for POWER7/8 (diff) | |
| download | qemu-5881c296b98000f78979b2b9e9fca96543577a05.tar.gz qemu-5881c296b98000f78979b2b9e9fca96543577a05.tar.xz qemu-5881c296b98000f78979b2b9e9fca96543577a05.zip | |
target-ppc: Switch POWER7/8 classes to use correct PMU SPRs
This replaces gen_spr_7xx() call (which registers 32bit SPRs) with
gen_spr_book3s_pmu() call.
This removes SPR_7XX_PMC5/6 as they are for 32bit and gen_spr_book3s_pmu()
already registers correct PMC5/6 SPRs.
This removes explicit MMCRA registration as gen_spr_book3s_pmu() does it
anyway.
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: Tom Musta <tommusta@gmail.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
| -rw-r--r-- | target-ppc/translate_init.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c index 7d2eb1fa24..df90439d87 100644 --- a/target-ppc/translate_init.c +++ b/target-ppc/translate_init.c @@ -7784,27 +7784,14 @@ static Property powerpc_servercpu_properties[] = { static void init_proc_POWER7 (CPUPPCState *env) { gen_spr_ne_601(env); - gen_spr_7xx(env); gen_spr_book3s_altivec(env); /* Time base */ gen_tbl(env); -#if !defined(CONFIG_USER_ONLY) - spr_register_kvm(env, SPR_POWER_MMCRA, "SPR_MMCRA", - SPR_NOACCESS, SPR_NOACCESS, - &spr_read_generic, &spr_write_generic, - KVM_REG_PPC_MMCRA, 0x00000000); - spr_register_kvm(env, SPR_7XX_PMC5, "SPR_7XX_PMC5", - SPR_NOACCESS, SPR_NOACCESS, - &spr_read_generic, &spr_write_generic, - KVM_REG_PPC_PMC5, 0x00000000); - spr_register_kvm(env, SPR_7XX_PMC6, "SPR_7XX_PMC6", - SPR_NOACCESS, SPR_NOACCESS, - &spr_read_generic, &spr_write_generic, - KVM_REG_PPC_PMC6, 0x00000000); -#endif /* !CONFIG_USER_ONLY */ gen_spr_book3s_ids(env); gen_spr_book3s_purr(env); gen_spr_book3s_common(env); + gen_spr_book3s_pmu_sup(env); + gen_spr_book3s_pmu_user(env); gen_spr_power5p_common(env); gen_spr_power5p_lpar(env); gen_spr_power6_common(env); |
