|
@@ -133,6 +133,14 @@ ENTRY(cpu_resume_mmu)
|
|
ldr x3, =cpu_resume_after_mmu
|
|
ldr x3, =cpu_resume_after_mmu
|
|
msr sctlr_el1, x0 // restore sctlr_el1
|
|
msr sctlr_el1, x0 // restore sctlr_el1
|
|
isb
|
|
isb
|
|
|
|
+ /*
|
|
|
|
+ * Invalidate the local I-cache so that any instructions fetched
|
|
|
|
+ * speculatively from the PoC are discarded, since they may have
|
|
|
|
+ * been dynamically patched at the PoU.
|
|
|
|
+ */
|
|
|
|
+ ic iallu
|
|
|
|
+ dsb nsh
|
|
|
|
+ isb
|
|
br x3 // global jump to virtual address
|
|
br x3 // global jump to virtual address
|
|
ENDPROC(cpu_resume_mmu)
|
|
ENDPROC(cpu_resume_mmu)
|
|
.popsection
|
|
.popsection
|