aboutsummaryrefslogtreecommitdiff
path: root/arch/riscv/kernel/vmem.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/riscv/kernel/vmem.c')
-rw-r--r--arch/riscv/kernel/vmem.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/riscv/kernel/vmem.c b/arch/riscv/kernel/vmem.c
index e3680b3..45f6336 100644
--- a/arch/riscv/kernel/vmem.c
+++ b/arch/riscv/kernel/vmem.c
@@ -120,3 +120,13 @@ void unmap_vmem(struct vm_branch_t *branch, vm_t vaddr)
if(pte)
*pte = 0;
}
+
+void flush_tlb(id_t cpu_id)
+{
+ __asm__("sfence.vma %0\n" :: "rk" (cpu_id) : "memory");
+}
+
+void flush_tlb_all()
+{
+ __asm__("sfence.vma\n" ::: "memory");
+}