Changeset 8dbc18c in mainline
- Timestamp:
- 2007-01-21T16:46:46Z (18 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f429331
- Parents:
- 718d600
- Location:
- kernel/arch/sparc64/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/src/mm/tlb.c
r718d600 r8dbc18c 328 328 d.value = itlb_data_access_read(i); 329 329 t.value = itlb_tag_read_read(i); 330 330 331 331 printf("%d: vpn=%#llx, context=%d, v=%d, size=%d, nfo=%d, " 332 332 "ie=%d, soft2=%#x, diag=%#x, pfn=%#x, soft=%#x, l=%d, " … … 409 409 tlb_tag_read_reg_t t; 410 410 411 /* 412 * Walk all ITLB and DTLB entries and remove all unlocked mappings. 413 * 414 * The kernel doesn't use global mappings so any locked global mappings 415 * found must have been created by someone else. Their only purpose now 416 * is to collide with proper mappings. Invalidate immediately. It should 417 * be safe to invalidate them as late as now. 418 */ 419 411 420 for (i = 0; i < ITLB_ENTRY_COUNT; i++) { 412 421 d.value = itlb_data_access_read(i); 413 if (!d.l ) {422 if (!d.l || d.g) { 414 423 t.value = itlb_tag_read_read(i); 415 424 d.v = false; … … 421 430 for (i = 0; i < DTLB_ENTRY_COUNT; i++) { 422 431 d.value = dtlb_data_access_read(i); 423 if (!d.l ) {432 if (!d.l || d.g) { 424 433 t.value = dtlb_tag_read_read(i); 425 434 d.v = false; -
kernel/arch/sparc64/src/start.S
r718d600 r8dbc18c 100 100 101 101 /* 102 * Take over the DMMU by installing globallocked TTE entry identically102 * Take over the DMMU by installing locked TTE entry identically 103 103 * mapping the first 4M of memory. 104 104 *
Note:
See TracChangeset
for help on using the changeset viewer.