summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Herrera <adrian.herrera@arm.com>2019-12-05 15:50:59 +0000
committerGiacomo Travaglini <giacomo.travaglini@arm.com>2020-01-27 16:39:23 +0000
commiteacc7c7e98cd563cc5bc90735867d5a0e86c2947 (patch)
tree8637194e2871ce8be2807e4abb0fc4aa1a0975dc
parent13083a1c9cdd271d0cb4d8d2eb14161f5fe5fd03 (diff)
downloadgem5-eacc7c7e98cd563cc5bc90735867d5a0e86c2947.tar.xz
system-arm: AArch64 boot, init CNTFRQ_EL0
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>
-rw-r--r--system/arm/bootloader/arm64/boot.S9
1 files changed, 2 insertions, 7 deletions
diff --git a/system/arm/bootloader/arm64/boot.S b/system/arm/bootloader/arm64/boot.S
index 38090c8f2..fa7acdb58 100644
--- a/system/arm/bootloader/arm64/boot.S
+++ b/system/arm/bootloader/arm64/boot.S
@@ -40,6 +40,8 @@
.globl _start
_start:
+ ldr x0, =CNTFRQ
+ msr cntfrq_el0, x0
/*
* EL3 initialisation
*/
@@ -55,9 +57,6 @@ _start:
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.
@@ -180,10 +179,6 @@ start_ns:
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
*/