]> xenbits.xensource.com Git - people/andrewcoop/xen.git/commit
xen/arm32: head: Add mising isb in switch_to_runtime_mapping()
authorJulien Grall <jgrall@amazon.com>
Tue, 4 Jul 2023 18:58:14 +0000 (19:58 +0100)
committerJulien Grall <jgrall@amazon.com>
Tue, 4 Jul 2023 19:07:47 +0000 (20:07 +0100)
commitf5a49eb7f8b31c930979f615ee66a994d9537aaa
tree5618a1cc47f986b84cf8e8ff34311ab9fd70f239
parentf7c24c2907d4092a1cdc63d0a850e5d887545b61
xen/arm32: head: Add mising isb in switch_to_runtime_mapping()

Per the Arm Arm (ARM DDI 0406C.d A3.8.3):

"The DMB and DSB memory barriers affect reads and writes to the memory
system generated by load/store instructions and data or unified cache
maintenance operations being executed by the processor. Instruction
fetches or accesses caused by a hardware translation table access are
not explicit accesses."

The function switch_to_runtime_mapping() is responsible to map the
Xen at its runtime address if we were using the temporary area before
jumping returning using a runtime address. So we need to ensure the
'dsb' has completed before continuing. Therefore add an 'isb'.

Fixes: fbd9b5fb4c26 ("xen/arm32: head: Remove restriction where to load Xen")
Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
xen/arch/arm/arm32/head.S