#include /* --- 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) #if __riscv_xlen == 64 /* 64bit */ #define VM_DMAP (0xffffffc000000000) /* testing for now */ #define VM_KERN (VM_DMAP + SZ_256K) #define IO_PAGE 511UL #define KSTART_PAGE 256UL #define CSTACK_PAGE 255UL /* 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) #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