Changeset 0ab362c in mainline for boot/arch/arm32/src/mm.c
- Timestamp:
- 2012-11-22T14:36:04Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e32720ff
- Parents:
- 1f7753a (diff), 0f2c80a (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/arm32/src/mm.c
r1f7753a r0ab362c 54 54 { 55 55 pte->descriptor_type = PTE_DESCRIPTOR_SECTION; 56 pte->bufferable = 0;56 pte->bufferable = 1; 57 57 pte->cacheable = 0; 58 pte-> impl_specific= 0;58 pte->xn = 0; 59 59 pte->domain = 0; 60 60 pte->should_be_zero_1 = 0; 61 pte->access_permission = PTE_AP_USER_NO_KERNEL_RW; 61 pte->access_permission_0 = PTE_AP_USER_NO_KERNEL_RW; 62 pte->tex = 0; 63 pte->access_permission_1 = 0; 64 pte->non_global = 0; 62 65 pte->should_be_zero_2 = 0; 66 pte->non_secure = 0; 63 67 pte->section_base_addr = frame; 64 68 } … … 67 71 static void init_boot_pt(void) 68 72 { 69 pfn_t split_page = 0x800; 70 73 const pfn_t split_page = PTL0_ENTRIES; 71 74 /* Create 1:1 virtual-physical mapping (in lower 2 GB). */ 72 75 pfn_t page; … … 78 81 * (upper 2 GB), physical addresses start from 0. 79 82 */ 83 /* BeagleBoard-xM (DM37x) memory starts at 2GB border, 84 * thus mapping only lower 2GB is not not enough. 85 * Map entire AS 1:1 instead and hope it works. */ 80 86 for (page = split_page; page < PTL0_ENTRIES; page++) 87 #ifndef MACHINE_beagleboardxm 81 88 init_ptl0_section(&boot_pt[page], page - split_page); 89 #else 90 init_ptl0_section(&boot_pt[page], page); 91 #endif 82 92 83 93 asm volatile ( … … 95 105 /* Behave as a client of domains */ 96 106 "ldr r0, =0x55555555\n" 97 "mcr p15, 0, r0, c3, c0, 0\n" 107 "mcr p15, 0, r0, c3, c0, 0\n" 98 108 109 #ifdef PROCESSOR_armv7_a 110 /* Read Auxiliary control register */ 111 "mrc p15, 0, r0, c1, c0, 1\n" 112 /* Mask to enable L2 cache */ 113 "ldr r1, =0x00000002\n" 114 "orr r0, r0, r1\n" 115 /* Store Auxiliary control register */ 116 "mrc p15, 0, r0, c1, c0, 1\n" 117 #endif 99 118 /* Current settings */ 100 119 "mrc p15, 0, r0, c1, c0, 0\n" 101 120 121 #ifdef PROCESSOR_armv7_a 122 /* Mask to enable paging, caching */ 123 "ldr r1, =0x00000005\n" 124 #else 102 125 /* Mask to enable paging */ 103 126 "ldr r1, =0x00000001\n" 127 #endif 104 128 "orr r0, r0, r1\n" 105 129
Note:
See TracChangeset
for help on using the changeset viewer.