mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
xen/arm: head: Add missing isb after writing to SCTLR_EL2/HSCTLR
Write to SCTLR_EL2/HSCTLR may not be visible until the next context
synchronization. When initializing the CPU, we want the update to take
effect right now. So add an isb afterwards.
Spec references:
- AArch64: D13.1.2 ARM DDI 0406C.d
- AArch32 v8: G8.1.2 ARM DDI 0406C.d
- AArch32 v7: B5.6.3 ARM DDI 0406C.d
Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Michal Orzel <michal.orzel@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
(cherry picked from commit 25424d1a6b)
This commit is contained in:
1 parent
6f65040081
commit
0d362e5ed3
2 files changed
+2
No files matched your search
@@ -353,6 +353,7 @@ cpu_init_done:
|
||||
|
||||
ldr r0, =HSCTLR_SET
|
||||
mcr CP32(r0, HSCTLR)
|
||||
isb
|
||||
|
||||
mov pc, r5 /* Return address is in r5 */
|
||||
ENDPROC(cpu_init)
|
||||
|
||||
@@ -485,6 +485,7 @@ cpu_init:
|
||||
|
||||
ldr x0, =SCTLR_EL2_SET
|
||||
msr SCTLR_EL2, x0
|
||||
isb
|
||||
|
||||
/*
|
||||
* Ensure that any exceptions encountered at EL2
|
||||
|
||||