Since all processors are in the inner-shareable domain and we map everything
that way this is sufficient.
The non-SMP barriers remain full system. Although in principle they could
become outer shareable barriers for some hardware this would require us to
know which class a given device is. Given the small number of device drivers
in Xen itself its probably not worth worrying over, although maybe someone
will benchmark at some point.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Tim Deegan <tim@xen.org>
#define rmb() dsb(sy)
#define wmb() dsb(sy)
-#define smp_mb() dmb(sy)
-#define smp_rmb() dmb(sy)
-#define smp_wmb() dmb(sy)
+#define smp_mb() dmb(ish)
+#define smp_rmb() dmb(ish)
+#define smp_wmb() dmb(ish)
#define xchg(ptr,x) \
((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))