Changeset e32e092 in mainline for kernel/genarch/src/mm/page_pt.c
- Timestamp:
- 2008-06-06T07:34:21Z (17 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- eb1c0a3
- Parents:
- 40257f5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/genarch/src/mm/page_pt.c
r40257f5 re32e092 77 77 if (GET_PTL1_FLAGS(ptl0, PTL0_INDEX(page)) & PAGE_NOT_PRESENT) { 78 78 newpt = (pte_t *)frame_alloc(PTL1_SIZE, FRAME_KA); 79 memsetb( (uintptr_t)newpt, FRAME_SIZE << PTL1_SIZE, 0);79 memsetb(newpt, FRAME_SIZE << PTL1_SIZE, 0); 80 80 SET_PTL1_ADDRESS(ptl0, PTL0_INDEX(page), KA2PA(newpt)); 81 81 SET_PTL1_FLAGS(ptl0, PTL0_INDEX(page), PAGE_PRESENT | PAGE_USER | PAGE_EXEC | PAGE_CACHEABLE | PAGE_WRITE); … … 86 86 if (GET_PTL2_FLAGS(ptl1, PTL1_INDEX(page)) & PAGE_NOT_PRESENT) { 87 87 newpt = (pte_t *)frame_alloc(PTL2_SIZE, FRAME_KA); 88 memsetb( (uintptr_t)newpt, FRAME_SIZE << PTL2_SIZE, 0);88 memsetb(newpt, FRAME_SIZE << PTL2_SIZE, 0); 89 89 SET_PTL2_ADDRESS(ptl1, PTL1_INDEX(page), KA2PA(newpt)); 90 90 SET_PTL2_FLAGS(ptl1, PTL1_INDEX(page), PAGE_PRESENT | PAGE_USER | PAGE_EXEC | PAGE_CACHEABLE | PAGE_WRITE); … … 95 95 if (GET_PTL3_FLAGS(ptl2, PTL2_INDEX(page)) & PAGE_NOT_PRESENT) { 96 96 newpt = (pte_t *)frame_alloc(PTL3_SIZE, FRAME_KA); 97 memsetb( (uintptr_t)newpt, FRAME_SIZE << PTL3_SIZE, 0);97 memsetb(newpt, FRAME_SIZE << PTL3_SIZE, 0); 98 98 SET_PTL3_ADDRESS(ptl2, PTL2_INDEX(page), KA2PA(newpt)); 99 99 SET_PTL3_FLAGS(ptl2, PTL2_INDEX(page), PAGE_PRESENT | PAGE_USER | PAGE_EXEC | PAGE_CACHEABLE | PAGE_WRITE); … … 147 147 148 148 /* Destroy the mapping. Setting to PAGE_NOT_PRESENT is not sufficient. */ 149 memsetb( (uintptr_t)&ptl3[PTL3_INDEX(page)], sizeof(pte_t), 0);149 memsetb(&ptl3[PTL3_INDEX(page)], sizeof(pte_t), 0); 150 150 151 151 /* … … 167 167 frame_free(KA2PA((uintptr_t) ptl3)); 168 168 if (PTL2_ENTRIES) 169 memsetb( (uintptr_t)&ptl2[PTL2_INDEX(page)], sizeof(pte_t), 0);169 memsetb(&ptl2[PTL2_INDEX(page)], sizeof(pte_t), 0); 170 170 else if (PTL1_ENTRIES) 171 memsetb( (uintptr_t)&ptl1[PTL1_INDEX(page)], sizeof(pte_t), 0);171 memsetb(&ptl1[PTL1_INDEX(page)], sizeof(pte_t), 0); 172 172 else 173 memsetb( (uintptr_t)&ptl0[PTL0_INDEX(page)], sizeof(pte_t), 0);173 memsetb(&ptl0[PTL0_INDEX(page)], sizeof(pte_t), 0); 174 174 } else { 175 175 /* … … 196 196 frame_free(KA2PA((uintptr_t) ptl2)); 197 197 if (PTL1_ENTRIES) 198 memsetb( (uintptr_t)&ptl1[PTL1_INDEX(page)], sizeof(pte_t), 0);198 memsetb(&ptl1[PTL1_INDEX(page)], sizeof(pte_t), 0); 199 199 else 200 memsetb( (uintptr_t)&ptl0[PTL0_INDEX(page)], sizeof(pte_t), 0);200 memsetb(&ptl0[PTL0_INDEX(page)], sizeof(pte_t), 0); 201 201 } 202 202 else { … … 224 224 */ 225 225 frame_free(KA2PA((uintptr_t) ptl1)); 226 memsetb( (uintptr_t)&ptl0[PTL0_INDEX(page)], sizeof(pte_t), 0);226 memsetb(&ptl0[PTL0_INDEX(page)], sizeof(pte_t), 0); 227 227 } 228 228 }
Note:
See TracChangeset
for help on using the changeset viewer.