aboutsummaryrefslogtreecommitdiff
path: root/arch/riscv64/include/vmem.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/riscv64/include/vmem.h')
-rw-r--r--arch/riscv64/include/vmem.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/riscv64/include/vmem.h b/arch/riscv64/include/vmem.h
new file mode 100644
index 0000000..228b24b
--- /dev/null
+++ b/arch/riscv64/include/vmem.h
@@ -0,0 +1,27 @@
+#ifndef APOS_RISCV_VMAP_H
+#define APOS_RISCV_VMAP_H
+
+#include <apos/types.h>
+#include <apos/attrs.h>
+
+#define VM_V (1 << 0)
+#define VM_R (1 << 1)
+#define VM_W (1 << 2)
+#define VM_X (1 << 3)
+#define VM_U (1 << 4)
+#define VM_G (1 << 5)
+#define VM_A (1 << 6)
+#define VM_D (1 << 7)
+
+enum mm_mode {
+ Sv48,
+ Sv39,
+ Sv32,
+};
+
+typedef size_t vm_t;
+struct __packed vm_branch {
+ struct vm_branch *leaf[512];
+};
+
+#endif /* APOS_RISCV_VMAP_H */