Changeset 0e78394 in mainline for kernel/arch/sparc64/src/mm/sun4u/tlb.c
- Timestamp:
- 2011-12-11T17:32:19Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 464a52f
- Parents:
- 1f5714e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/src/mm/sun4u/tlb.c
r1f5714e r0e78394 247 247 size_t index; 248 248 pte_t *t; 249 as_t *as = AS; 249 250 250 251 page_8k = (uint64_t) tag.vpn << MMU_PAGE_WIDTH; … … 258 259 "Dereferencing NULL pointer."); 259 260 } else if (page_8k >= end_of_identity) { 260 /* Kernel non-identity, fall through. */ 261 /* Kernel non-identity. */ 262 as = AS_KERNEL; 261 263 } else { 262 264 do_fast_data_access_mmu_miss_fault(istate, tag, … … 265 267 } 266 268 267 t = page_mapping_find( AS, page_16k, true);269 t = page_mapping_find(as, page_16k, true); 268 270 if (t) { 269 271 /* … … 280 282 * Forward the page fault to the address space page fault 281 283 * handler. 282 */ 284 */ 283 285 if (as_page_fault(page_16k, PF_ACCESS_READ, istate) == 284 286 AS_PF_FAULT) { … … 302 304 size_t index; 303 305 pte_t *t; 306 as_t *as = AS; 304 307 305 308 page_16k = ALIGN_DOWN((uint64_t) tag.vpn << MMU_PAGE_WIDTH, PAGE_SIZE); 306 309 index = tag.vpn % MMU_PAGES_PER_PAGE; /* 16K-page emulation */ 307 310 308 t = page_mapping_find(AS, page_16k, true); 311 if (tag.context == ASID_KERNEL) 312 as = AS_KERNEL; 313 314 t = page_mapping_find(as, page_16k, true); 309 315 if (t && PTE_WRITABLE(t)) { 310 316 /*
Note:
See TracChangeset
for help on using the changeset viewer.