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 <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michael S. Tsirkin <[email protected]>
1 parent b9ca93b commit 1a5514c

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

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)