diff options
Diffstat (limited to 'arch/riscv64/config.h')
| -rw-r--r-- | arch/riscv64/config.h | 26 |
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 |
