1 #ifndef __MEMORY_H__ 2 #define __MEMORY_H__ 3 4 #include "board.h" 5 6 /* Kernel stack addresses. */ 7 8 #define STAGE2_INIT_STACK 0x80004000 9 #define STAGE2_EXCEPTION_STACK 0x80008000 10 11 /* Page table details accessed in kernel mode. */ 12 13 #define STAGE2_PAGE_TABLE_TOP 0x81800000 14 #define STAGE2_PAGE_TABLE_BASE 0x81400000 15 16 /* Page table virtual address limit. */ 17 18 #define STAGE2_VIRTUAL_TOP 0x08000000 19 20 /* Page table computed task structure size. */ 21 22 #define STAGE2_PAGE_TABLE_TASK (STAGE2_VIRTUAL_TOP / (2 * STAGE2_PAGESIZE)) 23 24 /* User mode and physical addresses. */ 25 26 #define TASK_GPIO_BASE (STAGE2_VIRTUAL_TOP - GPIO_REGION_SIZE) 27 #define TASK_STACK_TOP TASK_GPIO_BASE 28 #define TASK_STACK_PHYSICAL 0x01c00000 29 #define TASK_STACK_SIZE 0x00002000 30 31 /* Common configuration. */ 32 33 #define STAGE2_PAGESIZE (4 * 1024) 34 35 #endif /* __MEMORY_H__ */