Rev 3788 | Rev 4277 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3788 | Rev 3790 | ||
---|---|---|---|
Line 422... | Line 422... | ||
422 | #endif |
422 | #endif |
423 | 423 | ||
424 | void do_fast_instruction_access_mmu_miss_fault(istate_t *istate, |
424 | void do_fast_instruction_access_mmu_miss_fault(istate_t *istate, |
425 | const char *str) |
425 | const char *str) |
426 | { |
426 | { |
427 | fault_if_from_uspace(istate, "%s", str); |
427 | fault_if_from_uspace(istate, "%s.", str); |
428 | dump_istate(istate); |
428 | dump_istate(istate); |
429 | panic("%s\n", str); |
429 | panic("%s.", str); |
430 | } |
430 | } |
431 | 431 | ||
432 | void do_fast_data_access_mmu_miss_fault(istate_t *istate, |
432 | void do_fast_data_access_mmu_miss_fault(istate_t *istate, |
433 | tlb_tag_access_reg_t tag, const char *str) |
433 | tlb_tag_access_reg_t tag, const char *str) |
434 | { |
434 | { |
435 | uintptr_t va; |
435 | uintptr_t va; |
436 | 436 | ||
437 | va = tag.vpn << MMU_PAGE_WIDTH; |
437 | va = tag.vpn << MMU_PAGE_WIDTH; |
438 | if (tag.context) { |
438 | if (tag.context) { |
439 | fault_if_from_uspace(istate, "%s, Page=%p (ASID=%d)", str, va, |
439 | fault_if_from_uspace(istate, "%s, Page=%p (ASID=%d).", str, va, |
440 | tag.context); |
440 | tag.context); |
441 | } |
441 | } |
442 | dump_istate(istate); |
442 | dump_istate(istate); |
443 | printf("Faulting page: %p, ASID=%d\n", va, tag.context); |
443 | printf("Faulting page: %p, ASID=%d.\n", va, tag.context); |
444 | panic("%s\n", str); |
444 | panic("%s.", str); |
445 | } |
445 | } |
446 | 446 | ||
447 | void do_fast_data_access_protection_fault(istate_t *istate, |
447 | void do_fast_data_access_protection_fault(istate_t *istate, |
448 | tlb_tag_access_reg_t tag, const char *str) |
448 | tlb_tag_access_reg_t tag, const char *str) |
449 | { |
449 | { |
450 | uintptr_t va; |
450 | uintptr_t va; |
451 | 451 | ||
452 | va = tag.vpn << MMU_PAGE_WIDTH; |
452 | va = tag.vpn << MMU_PAGE_WIDTH; |
453 | 453 | ||
454 | if (tag.context) { |
454 | if (tag.context) { |
455 | fault_if_from_uspace(istate, "%s, Page=%p (ASID=%d)", str, va, |
455 | fault_if_from_uspace(istate, "%s, Page=%p (ASID=%d).", str, va, |
456 | tag.context); |
456 | tag.context); |
457 | } |
457 | } |
458 | printf("Faulting page: %p, ASID=%d\n", va, tag.context); |
458 | printf("Faulting page: %p, ASID=%d\n", va, tag.context); |
459 | dump_istate(istate); |
459 | dump_istate(istate); |
460 | panic("%s\n", str); |
460 | panic("%s.", str); |
461 | } |
461 | } |
462 | 462 | ||
463 | void dump_sfsr_and_sfar(void) |
463 | void dump_sfsr_and_sfar(void) |
464 | { |
464 | { |
465 | tlb_sfsr_reg_t sfsr; |
465 | tlb_sfsr_reg_t sfsr; |