Changeset 8cee705 in mainline for kernel/arch/sparc64/src/mm/tlb.c


Ignore:
Timestamp:
2006-10-19T22:58:53Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
deb14fb
Parents:
f0450658
Message:

sparc64 work.

  • Improve panic screen on data_access_exception by dumping contents of DSFSR and DSFAR.
  • Change the FHC enable interrupt code to only set the IMAP_V bit.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/src/mm/tlb.c

    rf0450658 r8cee705  
    7575         */
    7676        tlb_invalidate_all();
     77
     78        /*
     79         * Clear both SFSRs.
     80         */
     81        dtlb_sfsr_write(0);
     82        itlb_sfsr_write(0);
    7783}
    7884
     
    354360}
    355361
     362void 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
    356377/** Invalidate all unlocked ITLB and DTLB entries. */
    357378void tlb_invalidate_all(void)
Note: See TracChangeset for help on using the changeset viewer.