NanoPayload

stage2/memory.h

216:95be7694d999
2017-06-28 Paul Boddie Employ structure member names to make initialisation clearer.
     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__ */