Changeset 1d432f9 in mainline for kernel/generic/src/mm/as.c
- Timestamp:
- 2010-05-31T22:33:44Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 179d052
- Parents:
- 3a2b636
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/mm/as.c
r3a2b636 r1d432f9 817 817 [PF_ACCESS_EXEC] = AS_AREA_EXEC 818 818 }; 819 820 ASSERT(interrupts_disabled()); 821 ASSERT(mutex_locked(&area->lock)); 819 822 820 823 if (!(area->flags & flagmap[access])) … … 1221 1224 unsigned int as_area_get_flags(as_area_t *area) 1222 1225 { 1226 ASSERT(interrupts_disabled()); 1227 ASSERT(mutex_locked(&area->lock)); 1228 1223 1229 return area_flags_to_page_flags(area->flags); 1224 1230 } … … 1322 1328 as_area_t *find_area_and_lock(as_t *as, uintptr_t va) 1323 1329 { 1330 ASSERT(interrupts_disabled()); 1331 ASSERT(mutex_locked(&as->lock)); 1332 1324 1333 btree_node_t *leaf; 1325 1334 as_area_t *area = (as_area_t *) btree_search(&as->as_area_btree, va, &leaf); … … 1386 1395 as_area_t *avoid_area) 1387 1396 { 1397 ASSERT(interrupts_disabled()); 1398 ASSERT(mutex_locked(&as->lock)); 1399 1388 1400 /* 1389 1401 * We don't want any area to have conflicts with NULL page. … … 1473 1485 /** Return size of the address space area with given base. 1474 1486 * 1475 * @param base Arbitrary address ins ede the address space area.1487 * @param base Arbitrary address inside the address space area. 1476 1488 * 1477 1489 * @return Size of the address space area in bytes or zero if it … … 1484 1496 1485 1497 ipl_t ipl = interrupts_disable(); 1498 page_table_lock(AS, true); 1486 1499 as_area_t *src_area = find_area_and_lock(AS, base); 1487 1500 … … 1492 1505 size = 0; 1493 1506 1507 page_table_unlock(AS, true); 1494 1508 interrupts_restore(ipl); 1495 1509 return size; … … 1509 1523 int used_space_insert(as_area_t *area, uintptr_t page, size_t count) 1510 1524 { 1525 ASSERT(mutex_locked(&area->lock)); 1511 1526 ASSERT(page == ALIGN_DOWN(page, PAGE_SIZE)); 1512 1527 ASSERT(count); … … 1815 1830 int used_space_remove(as_area_t *area, uintptr_t page, size_t count) 1816 1831 { 1832 ASSERT(mutex_locked(&area->lock)); 1817 1833 ASSERT(page == ALIGN_DOWN(page, PAGE_SIZE)); 1818 1834 ASSERT(count);
Note:
See TracChangeset
for help on using the changeset viewer.