Changeset 1d432f9 in mainline
- Timestamp:
- 2010-05-31T22:33:44Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 179d052
- Parents:
- 3a2b636
- Location:
- kernel
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/mips32/src/mm/tlb.c
r3a2b636 r1d432f9 369 369 entry_hi_t hi; 370 370 pte_t *pte; 371 372 ASSERT(mutex_locked(&AS->lock)); 371 373 372 374 hi.value = cp0_entry_hi_read(); -
kernel/arch/ppc32/src/mm/tlb.c
r3a2b636 r1d432f9 67 67 istate_t *istate, int *pfrc) 68 68 { 69 ASSERT(mutex_locked(&as->lock)); 70 69 71 /* 70 72 * Check if the mapping exists in page tables. -
kernel/genarch/src/mm/asid.c
r3a2b636 r1d432f9 70 70 /** Allocate free address space identifier. 71 71 * 72 * Interrupts must be disabled and inactive_as_with_asid_lock must be held 73 * prior to this call 72 * Interrupts must be disabled and asidlock must be held prior to this call 74 73 * 75 74 * @return New ASID. … … 80 79 link_t *tmp; 81 80 as_t *as; 81 82 ASSERT(interrupts_disabled()); 83 ASSERT(spinlock_locked(&asidlock)); 82 84 83 85 /* -
kernel/genarch/src/mm/page_ht.c
r3a2b636 r1d432f9 186 186 page = ALIGN_DOWN(page, PAGE_SIZE) 187 187 }; 188 189 ASSERT(interrupts_disabled()); 190 ASSERT(page_table_locked(as)); 188 191 189 192 if (!hash_table_find(&page_ht, key)) { … … 226 229 page = ALIGN_DOWN(page, PAGE_SIZE) 227 230 }; 231 232 ASSERT(interrupts_disabled()); 233 ASSERT(page_table_locked(as)); 228 234 229 235 /* … … 253 259 page = ALIGN_DOWN(page, PAGE_SIZE) 254 260 }; 261 262 ASSERT(interrupts_disabled()); 263 ASSERT(page_table_locked(as)); 255 264 256 265 link_t *cur = hash_table_find(&page_ht, key); -
kernel/genarch/src/mm/page_pt.c
r3a2b636 r1d432f9 73 73 { 74 74 pte_t *ptl0 = (pte_t *) PA2KA((uintptr_t) as->genarch.page_table); 75 76 ASSERT(interrupts_disabled()); 77 ASSERT(page_table_locked(as)); 75 78 76 79 if (GET_PTL1_FLAGS(ptl0, PTL0_INDEX(page)) & PAGE_NOT_PRESENT) { … … 121 124 void pt_mapping_remove(as_t *as, uintptr_t page) 122 125 { 126 ASSERT(interrupts_disabled()); 127 ASSERT(page_table_locked(as)); 128 123 129 /* 124 130 * First, remove the mapping, if it exists. … … 251 257 pte_t *pt_mapping_find(as_t *as, uintptr_t page) 252 258 { 259 ASSERT(interrupts_disabled()); 260 ASSERT(page_table_locked(as)); 261 253 262 pte_t *ptl0 = (pte_t *) PA2KA((uintptr_t) as->genarch.page_table); 254 263 if (GET_PTL1_FLAGS(ptl0, PTL0_INDEX(page)) & PAGE_NOT_PRESENT) -
kernel/generic/src/ipc/irq.c
r3a2b636 r1d432f9 430 430 { 431 431 ASSERT(irq); 432 433 ASSERT(interrupts_disabled()); 434 ASSERT(irq_spinlock_locked(&irq->lock)); 432 435 433 436 if (irq->notif_cfg.answerbox) { -
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); -
kernel/generic/src/mm/backend_anon.c
r3a2b636 r1d432f9 79 79 { 80 80 uintptr_t frame; 81 82 ASSERT(page_table_locked(AS)); 83 ASSERT(mutex_locked(&area->lock)); 81 84 82 85 if (!as_area_check_access(area, access)) … … 168 171 void anon_frame_free(as_area_t *area, uintptr_t page, uintptr_t frame) 169 172 { 173 ASSERT(page_table_locked(area->as)); 174 ASSERT(mutex_locked(&area->lock)); 175 170 176 frame_free(frame); 171 177 } … … 183 189 { 184 190 link_t *cur; 191 192 ASSERT(mutex_locked(&area->as->lock)); 193 ASSERT(mutex_locked(&area->lock)); 185 194 186 195 /* -
kernel/generic/src/mm/backend_elf.c
r3a2b636 r1d432f9 86 86 bool dirty = false; 87 87 88 ASSERT(page_table_locked(AS)); 89 ASSERT(mutex_locked(&area->lock)); 90 88 91 if (!as_area_check_access(area, access)) 89 92 return AS_PF_FAULT; … … 235 238 uintptr_t start_anon; 236 239 237 ASSERT((page >= ALIGN_DOWN(entry->p_vaddr, PAGE_SIZE)) && 238 (page < entry->p_vaddr + entry->p_memsz)); 240 ASSERT(page_table_locked(area->as)); 241 ASSERT(mutex_locked(&area->lock)); 242 243 ASSERT(page >= ALIGN_DOWN(entry->p_vaddr, PAGE_SIZE)); 244 ASSERT(page < entry->p_vaddr + entry->p_memsz); 245 239 246 start_anon = entry->p_vaddr + entry->p_filesz; 240 247 … … 273 280 btree_node_t *leaf, *node; 274 281 uintptr_t start_anon = entry->p_vaddr + entry->p_filesz; 282 283 ASSERT(mutex_locked(&area->as->lock)); 284 ASSERT(mutex_locked(&area->lock)); 275 285 276 286 /* -
kernel/generic/src/mm/backend_phys.c
r3a2b636 r1d432f9 72 72 uintptr_t base = area->backend_data.base; 73 73 74 ASSERT(page_table_locked(AS)); 75 ASSERT(mutex_locked(&area->lock)); 76 74 77 if (!as_area_check_access(area, access)) 75 78 return AS_PF_FAULT; … … 93 96 void phys_share(as_area_t *area) 94 97 { 98 ASSERT(mutex_locked(&area->as->lock)); 99 ASSERT(mutex_locked(&area->lock)); 95 100 } 96 101 -
kernel/generic/src/mm/page.c
r3a2b636 r1d432f9 120 120 unsigned int flags) 121 121 { 122 ASSERT(interrupts_disabled()); 123 ASSERT(page_table_locked(as)); 124 122 125 ASSERT(page_mapping_operations); 123 126 ASSERT(page_mapping_operations->mapping_insert); 124 127 125 128 page_mapping_operations->mapping_insert(as, page, frame, flags); 126 129 … … 143 146 void page_mapping_remove(as_t *as, uintptr_t page) 144 147 { 148 ASSERT(interrupts_disabled()); 149 ASSERT(page_table_locked(as)); 150 145 151 ASSERT(page_mapping_operations); 146 152 ASSERT(page_mapping_operations->mapping_remove); … … 167 173 pte_t *page_mapping_find(as_t *as, uintptr_t page) 168 174 { 175 ASSERT(interrupts_disabled()); 176 ASSERT(page_table_locked(as)); 177 169 178 ASSERT(page_mapping_operations); 170 179 ASSERT(page_mapping_operations->mapping_find); -
kernel/generic/src/proc/task.c
r3a2b636 r1d432f9 351 351 task_t *task_find_by_id(task_id_t id) 352 352 { 353 ASSERT(interrupts_disabled()); 354 ASSERT(irq_spinlock_locked(&tasks_lock)); 355 353 356 avltree_node_t *node = 354 357 avltree_search(&tasks_tree, (avltree_key_t) id); … … 362 365 /** Get accounting data of given task. 363 366 * 364 * Note that task lock of 't ' must be already held and interrupts must be367 * Note that task lock of 'task' must be already held and interrupts must be 365 368 * already disabled. 366 369 * … … 372 375 void task_get_accounting(task_t *task, uint64_t *ucycles, uint64_t *kcycles) 373 376 { 377 ASSERT(interrupts_disabled()); 378 ASSERT(irq_spinlock_locked(&task->lock)); 379 374 380 /* Accumulated values of task */ 375 381 uint64_t uret = task->ucycles; -
kernel/generic/src/proc/thread.c
r3a2b636 r1d432f9 683 683 bool thread_exists(thread_t *thread) 684 684 { 685 ASSERT(interrupts_disabled()); 686 ASSERT(irq_spinlock_locked(&threads_lock)); 687 685 688 avltree_node_t *node = 686 689 avltree_search(&threads_tree, (avltree_key_t) ((uintptr_t) thread)); … … 700 703 { 701 704 uint64_t time = get_cycle(); 705 706 ASSERT(interrupts_disabled()); 707 ASSERT(irq_spinlock_locked(&THREAD->lock)); 702 708 703 709 if (user) … … 735 741 thread_t *thread_find_by_id(thread_id_t thread_id) 736 742 { 743 ASSERT(interrupts_disabled()); 744 ASSERT(irq_spinlock_locked(&threads_lock)); 745 737 746 thread_iterator_t iterator; 738 747 -
kernel/generic/src/synch/waitq.c
r3a2b636 r1d432f9 459 459 { 460 460 size_t count = 0; 461 462 ASSERT(interrupts_disabled()); 463 ASSERT(irq_spinlock_locked(&wq->lock)); 461 464 462 465 loop: -
kernel/generic/src/sysinfo/stats.c
r3a2b636 r1d432f9 204 204 static void produce_stats_task(task_t *task, stats_task_t *stats_task) 205 205 { 206 ASSERT(interrupts_disabled()); 207 ASSERT(irq_spinlock_locked(&task->lock)); 208 206 209 stats_task->task_id = task->taskid; 207 210 str_cpy(stats_task->name, TASK_NAME_BUFLEN, task->name); … … 303 306 static void produce_stats_thread(thread_t *thread, stats_thread_t *stats_thread) 304 307 { 308 ASSERT(interrupts_disabled()); 309 ASSERT(irq_spinlock_locked(&thread->lock)); 310 305 311 stats_thread->thread_id = thread->tid; 306 312 stats_thread->task_id = thread->task->taskid; -
kernel/generic/src/udebug/udebug.c
r3a2b636 r1d432f9 389 389 * FINISHED event for each of them. 390 390 * 391 * @param task Task structure. ta ->udebug.lock must be already locked.391 * @param task Task structure. task->udebug.lock must be already locked. 392 392 * 393 393 * @return Zero on success or negative error code. … … 396 396 int udebug_task_cleanup(struct task *task) 397 397 { 398 ASSERT(mutex_locked(&task->udebug.lock)); 399 398 400 if ((task->udebug.dt_state != UDEBUG_TS_BEGINNING) && 399 401 (task->udebug.dt_state != UDEBUG_TS_ACTIVE)) {
Note:
See TracChangeset
for help on using the changeset viewer.