CNTFRQ_EL0 should be initialised to a uniform value in all cores present
in the system. Previously, this was only done if EL3 was present,
however architecture states CNTFRQ_EL0 may be written from the highest
EL implemented.
This patch moves this initilization outside of the EL3-only one.
Change-Id: Ibaa197de53d531ba898e5137ba4f46a8c9554699
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24683
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
.globl _start
_start:
+ ldr x0, =CNTFRQ
+ msr cntfrq_el0, x0
/*
* EL3 initialisation
*/
msr cptr_el3, xzr // Disable copro. traps to EL3
- ldr x0, =CNTFRQ
- msr cntfrq_el0, x0
-
/*
* Check for the primary CPU to avoid a race on the distributor
* registers.
str wzr, [x4, #0xa0] // V2M_SYS_CFGDATA
str w5, [x4, #0xa4] // V2M_SYS_CFGCTRL
- // set up the arch timer frequency
- //ldr x0, =CNTFRQ
- //msr cntfrq_el0, x0
-
/*
* Primary CPU
*/