Rev 1905 | Rev 1996 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1905 | Rev 1946 | ||
|---|---|---|---|
| Line 72... | Line 72... | ||
| 72 | { |
72 | { |
| 73 | /* |
73 | /* |
| 74 | * Invalidate all non-locked DTLB and ITLB entries. |
74 | * Invalidate all non-locked DTLB and ITLB entries. |
| 75 | */ |
75 | */ |
| 76 | tlb_invalidate_all(); |
76 | tlb_invalidate_all(); |
| - | 77 | ||
| - | 78 | /* |
|
| - | 79 | * Clear both SFSRs. |
|
| - | 80 | */ |
|
| - | 81 | dtlb_sfsr_write(0); |
|
| - | 82 | itlb_sfsr_write(0); |
|
| 77 | } |
83 | } |
| 78 | 84 | ||
| 79 | /** Insert privileged mapping into DMMU TLB. |
85 | /** Insert privileged mapping into DMMU TLB. |
| 80 | * |
86 | * |
| 81 | * @param page Virtual page address. |
87 | * @param page Virtual page address. |
| Line 351... | Line 357... | ||
| 351 | printf("Faulting page: %p, ASID=%d\n", va, tag.context); |
357 | printf("Faulting page: %p, ASID=%d\n", va, tag.context); |
| 352 | dump_istate(istate); |
358 | dump_istate(istate); |
| 353 | panic("%s\n", str); |
359 | panic("%s\n", str); |
| 354 | } |
360 | } |
| 355 | 361 | ||
| - | 362 | void dump_sfsr_and_sfar(void) |
|
| - | 363 | { |
|
| - | 364 | tlb_sfsr_reg_t sfsr; |
|
| - | 365 | uintptr_t sfar; |
|
| - | 366 | ||
| - | 367 | sfsr.value = dtlb_sfsr_read(); |
|
| - | 368 | sfar = dtlb_sfar_read(); |
|
| - | 369 | ||
| - | 370 | printf("DTLB SFSR: asi=%#x, ft=%#x, e=%d, ct=%d, pr=%d, w=%d, ow=%d, fv=%d\n", |
|
| - | 371 | sfsr.asi, sfsr.ft, sfsr.e, sfsr.ct, sfsr.pr, sfsr.w, sfsr.ow, sfsr.fv); |
|
| - | 372 | printf("DTLB SFAR: address=%p\n", sfar); |
|
| - | 373 | ||
| - | 374 | dtlb_sfsr_write(0); |
|
| - | 375 | } |
|
| - | 376 | ||
| 356 | /** Invalidate all unlocked ITLB and DTLB entries. */ |
377 | /** Invalidate all unlocked ITLB and DTLB entries. */ |
| 357 | void tlb_invalidate_all(void) |
378 | void tlb_invalidate_all(void) |
| 358 | { |
379 | { |
| 359 | int i; |
380 | int i; |
| 360 | tlb_data_t d; |
381 | tlb_data_t d; |