Changeset 2a2fbc8 in mainline for kernel/generic/src/mm/as.c
- Timestamp:
- 2016-09-01T17:05:13Z (9 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 42d08592
- Parents:
- f126c87 (diff), fb63c06 (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
-
kernel/generic/src/mm/as.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/mm/as.c
rf126c87 r2a2fbc8 889 889 890 890 for (; i < node_size; i++) { 891 pte_t *pte = page_mapping_find(as, 892 ptr + P2SZ(i), false); 891 pte_t pte; 892 bool found = page_mapping_find(as, 893 ptr + P2SZ(i), false, &pte); 893 894 894 ASSERT( pte);895 ASSERT(PTE_VALID( pte));896 ASSERT(PTE_PRESENT( pte));895 ASSERT(found); 896 ASSERT(PTE_VALID(&pte)); 897 ASSERT(PTE_PRESENT(&pte)); 897 898 898 899 if ((area->backend) && … … 900 901 area->backend->frame_free(area, 901 902 ptr + P2SZ(i), 902 PTE_GET_FRAME( pte));903 PTE_GET_FRAME(&pte)); 903 904 } 904 905 … … 1003 1004 1004 1005 for (size = 0; size < (size_t) node->value[i]; size++) { 1005 pte_t *pte = page_mapping_find(as, 1006 ptr + P2SZ(size), false); 1006 pte_t pte; 1007 bool found = page_mapping_find(as, 1008 ptr + P2SZ(size), false, &pte); 1007 1009 1008 ASSERT( pte);1009 ASSERT(PTE_VALID( pte));1010 ASSERT(PTE_PRESENT( pte));1010 ASSERT(found); 1011 ASSERT(PTE_VALID(&pte)); 1012 ASSERT(PTE_PRESENT(&pte)); 1011 1013 1012 1014 if ((area->backend) && … … 1014 1016 area->backend->frame_free(area, 1015 1017 ptr + P2SZ(size), 1016 PTE_GET_FRAME( pte));1018 PTE_GET_FRAME(&pte)); 1017 1019 } 1018 1020 … … 1315 1317 1316 1318 for (size = 0; size < (size_t) node->value[i]; size++) { 1317 pte_t *pte = page_mapping_find(as, 1318 ptr + P2SZ(size), false); 1319 pte_t pte; 1320 bool found = page_mapping_find(as, 1321 ptr + P2SZ(size), false, &pte); 1319 1322 1320 ASSERT( pte);1321 ASSERT(PTE_VALID( pte));1322 ASSERT(PTE_PRESENT( pte));1323 ASSERT(found); 1324 ASSERT(PTE_VALID(&pte)); 1325 ASSERT(PTE_PRESENT(&pte)); 1323 1326 1324 old_frame[frame_idx++] = PTE_GET_FRAME( pte);1327 old_frame[frame_idx++] = PTE_GET_FRAME(&pte); 1325 1328 1326 1329 /* Remove old mapping */ … … 1452 1455 * we need to make sure the mapping has not been already inserted. 1453 1456 */ 1454 pte_t *pte; 1455 if ((pte = page_mapping_find(AS, page, false))) { 1456 if (PTE_PRESENT(pte)) { 1457 if (((access == PF_ACCESS_READ) && PTE_READABLE(pte)) || 1458 (access == PF_ACCESS_WRITE && PTE_WRITABLE(pte)) || 1459 (access == PF_ACCESS_EXEC && PTE_EXECUTABLE(pte))) { 1457 pte_t pte; 1458 bool found = page_mapping_find(AS, page, false, &pte); 1459 if (found) { 1460 if (PTE_PRESENT(&pte)) { 1461 if (((access == PF_ACCESS_READ) && PTE_READABLE(&pte)) || 1462 (access == PF_ACCESS_WRITE && PTE_WRITABLE(&pte)) || 1463 (access == PF_ACCESS_EXEC && PTE_EXECUTABLE(&pte))) { 1460 1464 page_table_unlock(AS, false); 1461 1465 mutex_unlock(&area->lock);
Note:
See TracChangeset
for help on using the changeset viewer.
