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
 Michael Brown
						
						9 years ago
							Michael Brown
						
						9 years ago
					|  | ||
| 21 | 21 |  | 
| 22 | 22 |  | 
| 23 | 23 |  | 
| 24 |  | |
| 25 |  | |
| 26 |  | |
| 24 |  | |
| 27 | 25 |  | 
| 28 | 26 |  | 
| 29 | 27 |  |