aboutsummaryrefslogtreecommitdiff
path: root/arch/riscv64/config.h
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2022-04-21 23:25:57 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2022-04-21 23:25:57 +0300
commit42451ed4718af3f93770feb201bd023625d69b3a (patch)
tree7f69bc86e0fc0591f176ca086db377e1cb99a718 /arch/riscv64/config.h
parent1a5248bb177242a34fd51efadb4af941853d5e35 (diff)
downloadkmi-42451ed4718af3f93770feb201bd023625d69b3a.tar.gz
kmi-42451ed4718af3f93770feb201bd023625d69b3a.zip
fix warnings on 32bit riscv
+ Will most probably not work on 32bit, but nice to make 'portable' code.
Diffstat (limited to 'arch/riscv64/config.h')
-rw-r--r--arch/riscv64/config.h26
1 files changed, 23 insertions, 3 deletions
diff --git a/arch/riscv64/config.h b/arch/riscv64/config.h
index 957f848..b52585b 100644
--- a/arch/riscv64/config.h
+++ b/arch/riscv64/config.h
@@ -14,11 +14,10 @@
#define PM_STACK_SIZE (SZ_256K)
#define PM_STACK_TOP (PM_STACK_BASE + PM_STACK_SIZE)
+#if __riscv_xlen == 64
+/* 64bit */
#define VM_DMAP (0xffffffc000000000) /* testing for now */
#define VM_KERN (VM_DMAP + SZ_256K)
-#define TMP_PTE (-SZ_2G)
-#define ROOT_PTE (0UL)
-#define ROOT_REGION (SZ_4K)
#define IO_PAGE 511UL
#define KSTART_PAGE 256UL
@@ -32,3 +31,24 @@
#define PROC_STACK_TOP (SZ_256G)
#define PROC_STACK_BASE (SZ_256G - SZ_1G)
+#else
+/* 32bit */
+/* TODO: figure this stuff out */
+#define VM_DMAP (0x000000000)
+#define VM_KERN (VM_DMAP + SZ_256K)
+#define ROOT_PTE (0UL)
+#define ROOT_REGION (SZ_4K)
+
+#define IO_PAGE 1023UL
+#define KSTART_PAGE 512UL
+#define CSTACK_PAGE 511UL
+
+/* assume Sv39, probably wouldn't be too difficult to use runtime parameters
+ * instead. First 4K is reserved for NULL, but I suppose it could be mapped
+ * later if *absolutely* necessary. */
+#define UVMEM_START (SZ_4K)
+#define UVMEM_END (SZ_4G - SZ_8M)
+
+#define PROC_STACK_TOP (SZ_4G)
+#define PROC_STACK_BASE (SZ_4G - SZ_8M)
+#endif