1 #define GPBCON (volatile unsigned long*)0xA0000010
2 #define GPBDAT (volatile unsigned long*)0xA0000014
3
4 /*
5 * 用于段描述符的一些宏定义
6 */
7 #define MMU_FULL_ACCESS (3 << 10) /* 访问权限 */
8 #define MMU_DOMAIN (0 << 5) /* 属于哪个域*/
9 #define MMU_SPECIAL (1 << 4) /* 必须是1*/
10 #define MMU_CACHEABLE (1 << 3) /* cacheable */
11 #define MMU_BUFFERABLE (1 << 2) /* bufferable */
12 #define MMU_SECTION (2 << 0) /* 段描述符 */
13 #define MMU_SECDESC (MMU_FULL_ACCESS | MMU_DOMAIN | MMU_SPECIAL | MMU_SECTION)
14 #define MMU_SECDESC_WB (MMU_FULL_ACCESS | MMU_DOMAIN | MMU_SPECIAL | MMU_CACHEABLE | MMU_BUFFERABLE | MMU_SECTION)
15
16
17 void create_page_table(void)
18 {
19 unsigned long *ttb = (unsigned long *)0x30000000;
20 unsigned long vaddr, paddr;
21
22 vaddr = 0xA0000000;
23 paddr = 0x56000000;
24