mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
target/ppc: PMU: update counters on PMCs r/w
Calling pmu_update_cycles() on every PMC read/write operation ensures that the values being fetched are up to date with the current PMU state. In theory we can get away by just trapping PMCs reads, but we're going to trap PMC writes to deal with counter overflow logic later on. Let's put the required wiring for that and make our lives a bit easier in the next patches. Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Message-Id: <20211201151734.654994-4-danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
This commit is contained in:
parent
c2eff582a3
commit
308b9fad2a
5 changed files with 51 additions and 8 deletions
|
@ -6266,27 +6266,27 @@ static void register_book3s_pmu_sup_sprs(CPUPPCState *env)
|
|||
KVM_REG_PPC_MMCRA, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_PMC1, "PMC1",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_PMC, &spr_write_PMC,
|
||||
KVM_REG_PPC_PMC1, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_PMC2, "PMC2",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_PMC, &spr_write_PMC,
|
||||
KVM_REG_PPC_PMC2, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_PMC3, "PMC3",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_PMC, &spr_write_PMC,
|
||||
KVM_REG_PPC_PMC3, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_PMC4, "PMC4",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_PMC, &spr_write_PMC,
|
||||
KVM_REG_PPC_PMC4, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_PMC5, "PMC5",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_PMC, &spr_write_PMC,
|
||||
KVM_REG_PPC_PMC5, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_PMC6, "PMC6",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_PMC, &spr_write_PMC,
|
||||
KVM_REG_PPC_PMC6, 0x00000000);
|
||||
spr_register_kvm(env, SPR_POWER_SIAR, "SIAR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue