Changeset f1d1f5d3 in mainline for kernel/generic/src/mm/as.c
- Timestamp:
- 2006-09-17T20:10:10Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 57da95c
- Parents:
- 06e1e95
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/mm/as.c
r06e1e95 rf1d1f5d3 360 360 i = (start_free - b) >> PAGE_WIDTH; 361 361 if (!used_space_remove(area, start_free, c - i)) 362 panic("Could not remove used space. ");362 panic("Could not remove used space.\n"); 363 363 } else { 364 364 /* … … 390 390 tlb_invalidate_pages(AS->asid, area->base + pages*PAGE_SIZE, area->pages - pages); 391 391 tlb_shootdown_finalize(); 392 393 /* 394 * Invalidate software translation caches (e.g. TSB on sparc64). 395 */ 396 as_invalidate_translation_cache(as, area->base + pages*PAGE_SIZE, area->pages - pages); 392 397 } else { 393 398 /* … … 441 446 * Start TLB shootdown sequence. 442 447 */ 443 tlb_shootdown_start(TLB_INVL_PAGES, AS->asid, area->base, area->pages);448 tlb_shootdown_start(TLB_INVL_PAGES, as->asid, area->base, area->pages); 444 449 445 450 /* … … 464 469 b + j*PAGE_SIZE, PTE_GET_FRAME(pte)); 465 470 } 466 page_mapping_remove(as, b + j*PAGE_SIZE); 471 page_mapping_remove(as, b + j*PAGE_SIZE); 467 472 page_table_unlock(as, false); 468 473 } … … 473 478 * Finish TLB shootdown sequence. 474 479 */ 475 tlb_invalidate_pages( AS->asid, area->base, area->pages);480 tlb_invalidate_pages(as->asid, area->base, area->pages); 476 481 tlb_shootdown_finalize(); 482 483 /* 484 * Invalidate potential software translation caches (e.g. TSB on sparc64). 485 */ 486 as_invalidate_translation_cache(as, area->base, area->pages); 477 487 478 488 btree_destroy(&area->used_space); … … 488 498 * Remove the empty area from address space. 489 499 */ 490 btree_remove(& AS->as_area_btree, base, NULL);500 btree_remove(&as->as_area_btree, base, NULL); 491 501 492 502 free(area); 493 503 494 mutex_unlock(& AS->lock);504 mutex_unlock(&as->lock); 495 505 interrupts_restore(ipl); 496 506 return 0;
Note:
See TracChangeset
for help on using the changeset viewer.