summaryrefslogtreecommitdiff
path: root/v/vm.c
diff options
context:
space:
mode:
authorPalmer Dabbelt <palmer@dabbelt.com>2017-08-16 12:24:41 -0700
committerGitHub <noreply@github.com>2017-08-16 12:24:41 -0700
commit1b76fd1f1c63dfe4cea93f426434a7384d2bf801 (patch)
tree28288d978b3a2071088ced49869ceef817978a3e /v/vm.c
parentdb0bfa223142e56b17dae6d92610f195014bbb80 (diff)
parent79e1b562944b5fc1643480dd7aeaa65cd654a326 (diff)
downloadenv-1b76fd1f1c63dfe4cea93f426434a7384d2bf801.zip
env-1b76fd1f1c63dfe4cea93f426434a7384d2bf801.tar.gz
env-1b76fd1f1c63dfe4cea93f426434a7384d2bf801.tar.bz2
Merge pull request #4 from riscv/sfence_memory
Inform GCC that "sfence.vma" clobbers memory
Diffstat (limited to 'v/vm.c')
-rw-r--r--v/vm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/v/vm.c b/v/vm.c
index ae2e9e9..6ab7fd1 100644
--- a/v/vm.c
+++ b/v/vm.c
@@ -22,7 +22,7 @@ static void do_tohost(uint64_t tohost_value)
#define pa2kva(pa) ((void*)(pa) - DRAM_BASE - MEGAPAGE_SIZE)
#define uva2kva(pa) ((void*)(pa) - MEGAPAGE_SIZE)
-#define flush_page(addr) asm volatile ("sfence.vma %0" : : "r" (addr))
+#define flush_page(addr) asm volatile ("sfence.vma %0" : : "r" (addr) : "memory")
static uint64_t lfsr63(uint64_t x)
{