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 |
|