mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
target/ppc: adding user read/write functions for PMCs
Problem state needs to be able to read and write the PMU counters, otherwise it won't be aware of any sampling result that the PMU produces after a Perf run. This patch does that in a similar fashion as already done in the previous patches. PMCs 5 and 6 have a special condition, aside from the constraints that are common with PMCs 1-4, where they are not part of the PMU if MMCR0_PMCC is 0b11. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Message-Id: <20211018010133.315842-5-danielhb413@gmail.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
7b3ecf16c8
commit
cedf706956
3 changed files with 80 additions and 6 deletions
|
@ -6879,27 +6879,27 @@ static void register_book3s_pmu_user_sprs(CPUPPCState *env)
|
|||
&spr_read_ureg, &spr_write_ureg,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_UPMC1, "UPMC1",
|
||||
&spr_read_ureg, SPR_NOACCESS,
|
||||
&spr_read_PMC14_ureg, &spr_write_PMC14_ureg,
|
||||
&spr_read_ureg, &spr_write_ureg,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_UPMC2, "UPMC2",
|
||||
&spr_read_ureg, SPR_NOACCESS,
|
||||
&spr_read_PMC14_ureg, &spr_write_PMC14_ureg,
|
||||
&spr_read_ureg, &spr_write_ureg,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_UPMC3, "UPMC3",
|
||||
&spr_read_ureg, SPR_NOACCESS,
|
||||
&spr_read_PMC14_ureg, &spr_write_PMC14_ureg,
|
||||
&spr_read_ureg, &spr_write_ureg,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_UPMC4, "UPMC4",
|
||||
&spr_read_ureg, SPR_NOACCESS,
|
||||
&spr_read_PMC14_ureg, &spr_write_PMC14_ureg,
|
||||
&spr_read_ureg, &spr_write_ureg,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_UPMC5, "UPMC5",
|
||||
&spr_read_ureg, SPR_NOACCESS,
|
||||
&spr_read_PMC56_ureg, &spr_write_PMC56_ureg,
|
||||
&spr_read_ureg, &spr_write_ureg,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_UPMC6, "UPMC6",
|
||||
&spr_read_ureg, SPR_NOACCESS,
|
||||
&spr_read_PMC56_ureg, &spr_write_PMC56_ureg,
|
||||
&spr_read_ureg, &spr_write_ureg,
|
||||
0x00000000);
|
||||
spr_register(env, SPR_POWER_USIAR, "USIAR",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue