aboutsummaryrefslogtreecommitdiff
path: root/arch/riscv64/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/riscv64/config.h')
-rw-r--r--arch/riscv64/config.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/riscv64/config.h b/arch/riscv64/config.h
new file mode 100644
index 0000000..0ef22fa
--- /dev/null
+++ b/arch/riscv64/config.h
@@ -0,0 +1,34 @@
+#include <apos/sizes.h>
+
+/* --- START ARCH USER CONFIG VALUES --- */
+/* physical address to which the kernel will be loaded */
+#define RAM_BASE 0x80000000
+#define PM_KERN_BASE (RAM_BASE + SZ_512K)
+#define PM_KERN_SIZE (SZ_256K)
+#define PM_KERN_TOP (PM_KERN_BASE + PM_KERN_SIZE)
+/* --- END ARCH USER CONFIG VALUES --- */
+
+/* don't touch >:( */
+
+#define PM_STACK_BASE (PM_KERN_BASE + SZ_256K)
+#define PM_STACK_SIZE (SZ_256K)
+#define PM_STACK_TOP (PM_STACK_BASE + PM_STACK_SIZE)
+
+#define VM_DMAP (0xffffffc000000000) /* testing for now */
+#define VM_KERN (VM_DMAP + SZ_256K)
+#define TMP_PTE (-SZ_2G)
+#define ROOT_PTE (0)
+#define ROOT_REGION (SZ_4K)
+
+#define IO_PAGE 511
+#define KSTART_PAGE 256
+#define CSTACK_PAGE 255
+
+/* 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_256G - SZ_1G)
+
+#define PROC_STACK_TOP (SZ_256G)
+#define PROC_STACK_BASE (SZ_256G - SZ_1G)