diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S index 4cfda2cf70..26fc420b2e 100644 --- a/xen/arch/arm/arm32/head.S +++ b/xen/arch/arm/arm32/head.S @@ -696,6 +696,11 @@ switch_to_runtime_mapping: /* Ensure any page table updates are visible before continuing */ dsb nsh + /* + * The function will return on the runtime mapping. So we want + * to prevent instruction fetch before the dsb completes. + */ + isb ready_to_switch: mov pc, lr