Changeset 2c49fbbe in mainline
- Timestamp:
- 2006-02-28T17:57:42Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a0d74fd
- Parents:
- 95042fd
- Location:
- arch/ia64
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia64/include/mm/tlb.h
r95042fd r2c49fbbe 35 35 #include <arch/mm/page.h> 36 36 #include <arch/mm/asid.h> 37 #include <arch/register.h> 37 #include <arch/interrupt.h> 38 #include <arch/types.h> 38 39 #include <typedefs.h> 39 40 … … 46 47 extern void itr_mapping_insert(__address va, asid_t asid, tlb_entry_t entry, index_t tr); 47 48 48 extern void alternate_instruction_tlb_fault( void);49 extern void alternate_data_tlb_fault( void);50 extern void data_nested_tlb_fault( void);51 extern void data_dirty_bit_fault( void);52 extern void instruction_access_bit_fault( void);53 extern void data_access_bit_fault( void);54 extern void page_not_present( void);49 extern void alternate_instruction_tlb_fault(__u64 vector, struct exception_regdump *pstate); 50 extern void alternate_data_tlb_fault(__u64 vector, struct exception_regdump *pstate); 51 extern void data_nested_tlb_fault(__u64 vector, struct exception_regdump *pstate); 52 extern void data_dirty_bit_fault(__u64 vector, struct exception_regdump *pstate); 53 extern void instruction_access_bit_fault(__u64 vector, struct exception_regdump *pstate); 54 extern void data_access_bit_fault(__u64 vector, struct exception_regdump *pstate); 55 extern void page_not_present(__u64 vector, struct exception_regdump *pstate); 55 56 56 57 #endif 57 58 -
arch/ia64/src/mm/frame.c
r95042fd r2c49fbbe 44 44 45 45 /* 46 * Workaround to prevent slab allocator from allocating frame 0.47 * Remove the following statement when the kernel is no longer48 * identity mapped.49 */50 frame_mark_unavailable(0, 1);51 52 /*53 46 * Blacklist ROM regions. 54 47 */ -
arch/ia64/src/mm/tlb.c
r95042fd r2c49fbbe 34 34 #include <arch/mm/tlb.h> 35 35 #include <arch/barrier.h> 36 #include <arch/interrupt.h> 36 37 #include <typedefs.h> 38 #include <panic.h> 37 39 38 40 /** Invalidate all TLB entries. */ … … 103 105 __asm__ volatile ( 104 106 "mov r8=psr;;\n" 105 "and r9=r8,%0;;\n" /* (~PSR_IC_MASK) */ 106 "mov psr.l=r9;;\n" 107 "rsm %0;;\n" /* PSR_IC_MASK */ 107 108 "srlz.d;;\n" 108 109 "srlz.i;;\n" … … 115 116 "srlz.d;;\n" 116 117 : 117 : " r" (~PSR_IC_MASK), "r" (va), "r" (entry.word[1]), "r" (entry.word[0]), "r" (dtc)118 : "p6", "p7", "r8" , "r9"118 : "i" (PSR_IC_MASK), "r" (va), "r" (entry.word[1]), "r" (entry.word[0]), "r" (dtc) 119 : "p6", "p7", "r8" 119 120 ); 120 121 … … 183 184 __asm__ volatile ( 184 185 "mov r8=psr;;\n" 185 "and r9=r8,%0;;\n" /* (~PSR_IC_MASK) */ 186 "mov psr.l=r9;;\n" 186 "rsm %0;;\n" /* PSR_IC_MASK */ 187 187 "srlz.d;;\n" 188 188 "srlz.i;;\n" … … 195 195 "srlz.d;;\n" 196 196 : 197 : "r" (~PSR_IC_MASK), "r" (va), "r" (entry.word[1]), "r" (entry.word[0]), "r" (tr), "r" (dtr)198 : "p6", "p7", "r8" , "r9"197 : "i" (PSR_IC_MASK), "r" (va), "r" (entry.word[1]), "r" (entry.word[0]), "r" (tr), "r" (dtr) 198 : "p6", "p7", "r8" 199 199 ); 200 200 … … 206 206 } 207 207 208 void alternate_instruction_tlb_fault( void)209 { 210 panic("%s\n", __FUNCTION__); 211 } 212 213 void alternate_data_tlb_fault( void)214 { 215 panic("%s \n", __FUNCTION__);216 } 217 218 void data_nested_tlb_fault( void)219 { 220 panic("%s\n", __FUNCTION__); 221 } 222 223 void data_dirty_bit_fault( void)224 { 225 panic("%s\n", __FUNCTION__); 226 } 227 228 void instruction_access_bit_fault( void)229 { 230 panic("%s\n", __FUNCTION__); 231 } 232 233 void data_access_bit_fault( void)234 { 235 panic("%s\n", __FUNCTION__); 236 } 237 238 void page_not_present( void)239 { 240 panic("%s\n", __FUNCTION__); 241 } 208 void alternate_instruction_tlb_fault(__u64 vector, struct exception_regdump *pstate) 209 { 210 panic("%s\n", __FUNCTION__); 211 } 212 213 void alternate_data_tlb_fault(__u64 vector, struct exception_regdump *pstate) 214 { 215 panic("%s: %P\n", __FUNCTION__, pstate->cr_ifa); 216 } 217 218 void data_nested_tlb_fault(__u64 vector, struct exception_regdump *pstate) 219 { 220 panic("%s\n", __FUNCTION__); 221 } 222 223 void data_dirty_bit_fault(__u64 vector, struct exception_regdump *pstate) 224 { 225 panic("%s\n", __FUNCTION__); 226 } 227 228 void instruction_access_bit_fault(__u64 vector, struct exception_regdump *pstate) 229 { 230 panic("%s\n", __FUNCTION__); 231 } 232 233 void data_access_bit_fault(__u64 vector, struct exception_regdump *pstate) 234 { 235 panic("%s\n", __FUNCTION__); 236 } 237 238 void page_not_present(__u64 vector, struct exception_regdump *pstate) 239 { 240 panic("%s\n", __FUNCTION__); 241 }
Note:
See TracChangeset
for help on using the changeset viewer.