Skip to content

Commit 1a5514c

Browse files
MrVanmstsirkin
authored andcommitted
tools/virtio: add barrier for aarch64
Add barrier for aarch64 for cross compiling, and most are from Linux Kernel. Signed-off-by: Peng Fan <peng.fan@nxp.com> Link: https://lore.kernel.org/r/20201209084205.24062-4-peng.fan@oss.nxp.com Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
1 parent b9ca93b commit 1a5514c

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

tools/virtio/asm/barrier.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,16 @@
1616
# define mb() abort()
1717
# define dma_rmb() abort()
1818
# define dma_wmb() abort()
19+
#elif defined(__aarch64__)
20+
#define dmb(opt) asm volatile("dmb " #opt : : : "memory")
21+
#define virt_mb() __sync_synchronize()
22+
#define virt_rmb() dmb(ishld)
23+
#define virt_wmb() dmb(ishst)
24+
#define virt_store_mb(var, value) do { WRITE_ONCE(var, value); dmb(ish); } while (0)
25+
/* Weak barriers should be used. If not - it's a bug */
26+
# define mb() abort()
27+
# define dma_rmb() abort()
28+
# define dma_wmb() abort()
1929
#else
2030
#error Please fill in barrier macros
2131
#endif

0 commit comments

Comments
 (0)