Rev 1868 | Rev 1880 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1868 | Rev 1870 | ||
|---|---|---|---|
| Line 38... | Line 38... | ||
| 38 | #include <mm/asid.h> |
38 | #include <mm/asid.h> |
| 39 | #include <arch/mm/frame.h> |
39 | #include <arch/mm/frame.h> |
| 40 | #include <arch/mm/page.h> |
40 | #include <arch/mm/page.h> |
| 41 | #include <arch/mm/mmu.h> |
41 | #include <arch/mm/mmu.h> |
| 42 | #include <arch/interrupt.h> |
42 | #include <arch/interrupt.h> |
| - | 43 | #include <interrupt.h> |
|
| 43 | #include <arch.h> |
44 | #include <arch.h> |
| 44 | #include <print.h> |
45 | #include <print.h> |
| 45 | #include <arch/types.h> |
46 | #include <arch/types.h> |
| 46 | #include <typedefs.h> |
47 | #include <typedefs.h> |
| 47 | #include <config.h> |
48 | #include <config.h> |
| Line 306... | Line 307... | ||
| 306 | 307 | ||
| 307 | void do_fast_instruction_access_mmu_miss_fault(istate_t *istate, const char *str) |
308 | void do_fast_instruction_access_mmu_miss_fault(istate_t *istate, const char *str) |
| 308 | { |
309 | { |
| 309 | char *tpc_str = get_symtab_entry(istate->tpc); |
310 | char *tpc_str = get_symtab_entry(istate->tpc); |
| 310 | 311 | ||
| - | 312 | fault_if_from_uspace(istate, "%s\n", str); |
|
| 311 | printf("TPC=%p, (%s)\n", istate->tpc, tpc_str); |
313 | printf("TPC=%p, (%s)\n", istate->tpc, tpc_str); |
| 312 | panic("%s\n", str); |
314 | panic("%s\n", str); |
| 313 | } |
315 | } |
| 314 | 316 | ||
| 315 | void do_fast_data_access_mmu_miss_fault(istate_t *istate, tlb_tag_access_reg_t tag, const char *str) |
317 | void do_fast_data_access_mmu_miss_fault(istate_t *istate, tlb_tag_access_reg_t tag, const char *str) |
| Line 317... | Line 319... | ||
| 317 | uintptr_t va; |
319 | uintptr_t va; |
| 318 | char *tpc_str = get_symtab_entry(istate->tpc); |
320 | char *tpc_str = get_symtab_entry(istate->tpc); |
| 319 | 321 | ||
| 320 | va = tag.vpn << PAGE_WIDTH; |
322 | va = tag.vpn << PAGE_WIDTH; |
| 321 | 323 | ||
| - | 324 | fault_if_from_uspace(istate, "%s, Page=%p (ASID=%d)\n", str, va, tag.context); |
|
| 322 | printf("Faulting page: %p, ASID=%d\n", va, tag.context); |
325 | printf("Faulting page: %p, ASID=%d\n", va, tag.context); |
| 323 | printf("TPC=%p, (%s)\n", istate->tpc, tpc_str); |
326 | printf("TPC=%p, (%s)\n", istate->tpc, tpc_str); |
| 324 | panic("%s\n", str); |
327 | panic("%s\n", str); |
| 325 | } |
328 | } |
| 326 | 329 | ||
| Line 329... | Line 332... | ||
| 329 | uintptr_t va; |
332 | uintptr_t va; |
| 330 | char *tpc_str = get_symtab_entry(istate->tpc); |
333 | char *tpc_str = get_symtab_entry(istate->tpc); |
| 331 | 334 | ||
| 332 | va = tag.vpn << PAGE_WIDTH; |
335 | va = tag.vpn << PAGE_WIDTH; |
| 333 | 336 | ||
| - | 337 | fault_if_from_uspace(istate, "%s, Page=%p (ASID=%d)\n", str, va, tag.context); |
|
| 334 | printf("Faulting page: %p, ASID=%d\n", va, tag.context); |
338 | printf("Faulting page: %p, ASID=%d\n", va, tag.context); |
| 335 | printf("TPC=%p, (%s)\n", istate->tpc, tpc_str); |
339 | printf("TPC=%p, (%s)\n", istate->tpc, tpc_str); |
| 336 | panic("%s\n", str); |
340 | panic("%s\n", str); |
| 337 | } |
341 | } |
| 338 | 342 | ||