The raw cycle counter at PMCCNTR_EL0 works in qemu but seems to always read as zero on physical hardware (tested on Juno r1 and Cavium ThunderX), even after ensuring that PMCR_EL0.E and PMCNTENSET_EL0.C are both enabled. Use CNTVCT_EL0 instead; this seems to count at a lower resolution (tens of CPU cycles), but is usable for profiling. Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
21 |
|
21 |
|
22 |
|
22 |
|
23 |
|
23 |
|
24 |
|
|
|
25 |
|
|
|
26 |
|
|
|
|
24 |
|
|
27 |
|
25 |
|
28 |
|
26 |
|
29 |
|
27 |
|