target-ppc: Enable PMU SPRs migration
This enabled PMU SPRs migration by hooking hypv privileged versions with "KVM one reg" IDs. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: Tom Musta <tommusta@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
90618f4f4d
commit
83cc6f8c2f
@ -7370,50 +7370,50 @@ static void gen_spr_970_dbg(CPUPPCState *env)
|
||||
|
||||
static void gen_spr_book3s_pmu_sup(CPUPPCState *env)
|
||||
{
|
||||
spr_register(env, SPR_POWER_MMCR0, "MMCR0",
|
||||
spr_register_kvm(env, SPR_POWER_MMCR0, "MMCR0",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_MMCR1, "MMCR1",
|
||||
KVM_REG_PPC_MMCR0, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_MMCR1, "MMCR1",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_MMCRA, "MMCRA",
|
||||
KVM_REG_PPC_MMCR1, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_MMCRA, "MMCRA",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_PMC1, "PMC1",
|
||||
KVM_REG_PPC_MMCRA, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_PMC1, "PMC1",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_PMC2, "PMC2",
|
||||
KVM_REG_PPC_PMC1, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_PMC2, "PMC2",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_PMC3, "PMC3",
|
||||
KVM_REG_PPC_PMC2, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_PMC3, "PMC3",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_PMC4, "PMC4",
|
||||
KVM_REG_PPC_PMC3, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_PMC4, "PMC4",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_PMC5, "PMC5",
|
||||
KVM_REG_PPC_PMC4, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_PMC5, "PMC5",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_PMC6, "PMC6",
|
||||
KVM_REG_PPC_PMC5, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_PMC6, "PMC6",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_SIAR, "SIAR",
|
||||
KVM_REG_PPC_PMC6, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_SIAR, "SIAR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_SDAR, "SDAR",
|
||||
KVM_REG_PPC_SIAR, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_SDAR, "SDAR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
0x00000000);
|
||||
KVM_REG_PPC_SDAR, 0x00000000);
|
||||
}
|
||||
|
||||
static void gen_spr_book3s_pmu_user(CPUPPCState *env)
|
||||
@ -7466,14 +7466,14 @@ static void gen_spr_book3s_pmu_user(CPUPPCState *env)
|
||||
|
||||
static void gen_spr_970_pmu_sup(CPUPPCState *env)
|
||||
{
|
||||
spr_register(env, SPR_970_PMC7, "PMC7",
|
||||
spr_register_kvm(env, SPR_970_PMC7, "PMC7",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_970_PMC8, "PMC8",
|
||||
KVM_REG_PPC_PMC7, 0x00000000);
|
||||
spr_register_kvm(env, SPR_970_PMC8, "PMC8",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
0x00000000);
|
||||
KVM_REG_PPC_PMC8, 0x00000000);
|
||||
}
|
||||
|
||||
static void gen_spr_970_pmu_user(CPUPPCState *env)
|
||||
|
Loading…
Reference in New Issue
Block a user