aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-arm/arm32
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2013-02-22 08:57:51 +0000
committerIan Campbell <ian.campbell@citrix.com>2013-02-22 12:14:52 +0000
commitfac508273d32e37b40622bd2e874b420541fb7fa (patch)
tree8c703519402427ec4425fcf55218cfb0fa2d2d1c /xen/include/asm-arm/arm32
parent1024642c62062dd8e12037ffaab2ed9754d74b35 (diff)
downloadxen-fac508273d32e37b40622bd2e874b420541fb7fa.tar.gz
xen-fac508273d32e37b40622bd2e874b420541fb7fa.tar.bz2
xen-fac508273d32e37b40622bd2e874b420541fb7fa.zip
xen: arm64: dcache flush
Use "dsb sy" instead of bare "dsb", they mean the same on 32-bit but only the former is valid on 64-bit. Abstract the actual flush operation into a macro. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Tim Deegan <tim@xen.org>
Diffstat (limited to 'xen/include/asm-arm/arm32')
-rw-r--r--xen/include/asm-arm/arm32/page.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/xen/include/asm-arm/arm32/page.h b/xen/include/asm-arm/arm32/page.h
index a384f04ac1..2b15c2229d 100644
--- a/xen/include/asm-arm/arm32/page.h
+++ b/xen/include/asm-arm/arm32/page.h
@@ -23,6 +23,9 @@ static inline void write_pte(lpae_t *p, lpae_t pte)
: : "r" (pte.bits), "r" (p) : "memory");
}
+/* Inline ASM to flush dcache on register R (may be an inline asm operand) */
+#define __flush_xen_dcache_one(R) STORE_CP32(R, DCCMVAC)
+
/*
* Flush all hypervisor mappings from the TLB and branch predictor.
* This is needed after changing Xen code mappings.