Changeset b6fba84 in mainline for arch/sparc64/src/mm/tlb.c
- Timestamp:
- 2006-02-24T11:58:09Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 68656282
- Parents:
- 0d3ff9a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/sparc64/src/mm/tlb.c
r0d3ff9a rb6fba84 38 38 #include <arch/trap/trap.h> 39 39 #include <panic.h> 40 #include <arch/asm.h> 41 #include <symtab.h> 42 43 char *context_encoding[] = { 44 "Primary", 45 "Secondary", 46 "Nucleus", 47 "Reserved" 48 }; 40 49 41 50 /** Initialize ITLB and DTLB. … … 97 106 dmmu_enable(); 98 107 immu_enable(); 108 109 /* 110 * Quick hack: map frame buffer 111 */ 112 fr.address = 0x1C901000000ULL; 113 pg.address = 0xc0000000; 114 115 tag.value = 0; 116 tag.vpn = pg.vpn; 117 118 dtlb_tag_access_write(tag.value); 119 120 data.value = 0; 121 data.v = true; 122 data.size = PAGESIZE_4M; 123 data.pfn = fr.pfn; 124 data.l = true; 125 data.cp = 0; 126 data.cv = 0; 127 data.p = true; 128 data.w = true; 129 data.g = true; 130 131 dtlb_data_in_write(data.value); 132 99 133 } 100 134 … … 108 142 void fast_data_access_mmu_miss(void) 109 143 { 144 tlb_sfsr_reg_t status; 145 __address address, tpc; 146 char *tpc_str; 147 148 status.value = dtlb_sfsr_read(); 149 address = dtlb_sfar_read(); 150 tpc = tpc_read(); 151 tpc_str = get_symtab_entry(tpc); 152 153 printf("ASI=%B, Context=%s\n", status.asi, context_encoding[status.ct]); 154 printf("Faulting address: %P\n", dtlb_sfar_read()); 155 printf("TPC=%P, (%s)\n", tpc, tpc_str ? tpc_str : "?"); 110 156 panic("%s\n", __FUNCTION__); 111 157 }
Note:
See TracChangeset
for help on using the changeset viewer.