Skip to content

Commit

Permalink
util: Add barriers support for RISC-V
Browse files Browse the repository at this point in the history
Add barriers support for RISC-V architecture

Signed-off-by: v.v.mitrofanov <v.v.mitrofanov@yadro.com>
  • Loading branch information
vvmitrofanov committed Feb 4, 2022
1 parent f1a1a46 commit 63b41f2
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions util/udma_barrier.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,8 @@
#define udma_to_device_barrier() asm volatile("" ::: "memory")
#elif defined(__loongarch__)
#define udma_to_device_barrier() asm volatile("dbar 0" ::: "memory")
#elif defined(__riscv)
#define udma_to_device_barrier() asm volatile("fence ow,ow" ::: "memory")
#else
#error No architecture specific memory barrier defines found!
#endif
Expand Down Expand Up @@ -132,6 +134,8 @@
#define udma_from_device_barrier() asm volatile("" ::: "memory")
#elif defined(__loongarch__)
#define udma_from_device_barrier() asm volatile("dbar 0" ::: "memory")
#elif defined(__riscv)
#define udma_from_device_barrier() asm volatile("fence ir,ir" ::: "memory")
#else
#error No architecture specific memory barrier defines found!
#endif
Expand Down Expand Up @@ -198,6 +202,8 @@
#define mmio_flush_writes() asm volatile("" ::: "memory")
#elif defined(__loongarch__)
#define mmio_flush_writes() asm volatile("dbar 0" ::: "memory")
#elif defined(__riscv)
#define mmio_flush_writes() asm volatile("fence ow,ow" ::: "memory")
#else
#error No architecture specific memory barrier defines found!
#endif
Expand Down

0 comments on commit 63b41f2

Please sign in to comment.