Changes in kernel/arch/sparc64/src/mm/sun4u/tlb.c [c15b374:d99c1d2] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/src/mm/sun4u/tlb.c
rc15b374 rd99c1d2 27 27 */ 28 28 29 /** @addtogroup sparc64mm 29 /** @addtogroup sparc64mm 30 30 * @{ 31 31 */ … … 58 58 static void dtlb_pte_copy(pte_t *, size_t, bool); 59 59 static void itlb_pte_copy(pte_t *, size_t); 60 static void do_fast_instruction_access_mmu_miss_fault(istate_t *, uintptr_t, 61 const char *); 60 static void do_fast_instruction_access_mmu_miss_fault(istate_t *, const char *); 62 61 static void do_fast_data_access_mmu_miss_fault(istate_t *, tlb_tag_access_reg_t, 63 62 const char *); … … 223 222 * Forward the page fault to the address space page fault 224 223 * handler. 225 */ 224 */ 226 225 page_table_unlock(AS, true); 227 226 if (as_page_fault(page_16k, PF_ACCESS_EXEC, istate) == 228 227 AS_PF_FAULT) { 229 228 do_fast_instruction_access_mmu_miss_fault(istate, 230 istate->tpc,__func__);229 __func__); 231 230 } 232 231 } … … 259 258 /* NULL access in kernel */ 260 259 do_fast_data_access_mmu_miss_fault(istate, tag, 261 "Dereferencing NULL pointer.");260 __func__); 262 261 } else if (page_8k >= end_of_identity) { 263 262 /* … … 439 438 440 439 void do_fast_instruction_access_mmu_miss_fault(istate_t *istate, 441 uintptr_t va, const char *str) 442 { 443 fault_if_from_uspace(istate, "%s, Address=%p.", str, va); 444 panic_memtrap(istate, PF_ACCESS_EXEC, va, str); 440 const char *str) 441 { 442 fault_if_from_uspace(istate, "%s.", str); 443 dump_istate(istate); 444 panic("%s.", str); 445 445 } 446 446 … … 451 451 452 452 va = tag.vpn << MMU_PAGE_WIDTH; 453 fault_if_from_uspace(istate, "%s, Page=%p (ASID=%d).", str, va, 454 tag.context); 455 panic_memtrap(istate, PF_ACCESS_UNKNOWN, va, str); 453 if (tag.context) { 454 fault_if_from_uspace(istate, "%s, Page=%p (ASID=%d).", str, va, 455 tag.context); 456 } 457 dump_istate(istate); 458 printf("Faulting page: %p, ASID=%d.\n", va, tag.context); 459 panic("%s.", str); 456 460 } 457 461 … … 462 466 463 467 va = tag.vpn << MMU_PAGE_WIDTH; 464 fault_if_from_uspace(istate, "%s, Page=%p (ASID=%d).", str, va, 465 tag.context); 466 panic_memtrap(istate, PF_ACCESS_WRITE, va, str); 468 469 if (tag.context) { 470 fault_if_from_uspace(istate, "%s, Page=%p (ASID=%d).", str, va, 471 tag.context); 472 } 473 printf("Faulting page: %p, ASID=%d\n", va, tag.context); 474 dump_istate(istate); 475 panic("%s.", str); 467 476 } 468 477
Note:
See TracChangeset
for help on using the changeset viewer.