The invalidation of the instructions cache requires barriers to ensure
the completion of the invalidation before continuing (see B2.3.4 in ARM
DDI 0487A.j).
This was overlooked in commit
fb9d877 "xen/arm64: Add an helper to
invalidate all instruction caches".
Signed-off-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
static inline void invalidate_icache(void)
{
asm volatile ("ic ialluis");
+ dsb(ish); /* Ensure completion of the flush I-cache */
+ isb();
}
/*