summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPalmer Dabbelt <palmer@dabbelt.com>2017-08-16 11:41:49 -0700
committerPalmer Dabbelt <palmer@dabbelt.com>2017-08-16 11:41:49 -0700
commit79e1b562944b5fc1643480dd7aeaa65cd654a326 (patch)
tree28288d978b3a2071088ced49869ceef817978a3e
parentdb0bfa223142e56b17dae6d92610f195014bbb80 (diff)
downloadenv-79e1b562944b5fc1643480dd7aeaa65cd654a326.zip
env-79e1b562944b5fc1643480dd7aeaa65cd654a326.tar.gz
env-79e1b562944b5fc1643480dd7aeaa65cd654a326.tar.bz2
Inform GCC that "sfence.vma" clobbers memory
-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)
{