Rev 667 | Rev 883 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 667 | Rev 863 | ||
---|---|---|---|
Line 47... | Line 47... | ||
47 | 47 | ||
48 | #include <arch/trap/trap_table.h> |
48 | #include <arch/trap/trap_table.h> |
49 | #include <arch/trap/regwin.h> |
49 | #include <arch/trap/regwin.h> |
50 | #include <arch/trap/interrupt.h> |
50 | #include <arch/trap/interrupt.h> |
51 | #include <arch/trap/exception.h> |
51 | #include <arch/trap/exception.h> |
- | 52 | #include <arch/trap/mmu.h> |
|
52 | #include <arch/stack.h> |
53 | #include <arch/stack.h> |
53 | 54 | ||
54 | #define TABLE_SIZE TRAP_TABLE_SIZE |
55 | #define TABLE_SIZE TRAP_TABLE_SIZE |
55 | #define ENTRY_SIZE TRAP_TABLE_ENTRY_SIZE |
56 | #define ENTRY_SIZE TRAP_TABLE_ENTRY_SIZE |
56 | 57 | ||
Line 173... | Line 174... | ||
173 | .org trap_table + TT_INTERRUPT_VECTOR_TRAP*ENTRY_SIZE |
174 | .org trap_table + TT_INTERRUPT_VECTOR_TRAP*ENTRY_SIZE |
174 | .global interrupt_vector_trap_handler |
175 | .global interrupt_vector_trap_handler |
175 | interrupt_vector_trap_handler: |
176 | interrupt_vector_trap_handler: |
176 | INTERRUPT_VECTOR_TRAP_HANDLER |
177 | INTERRUPT_VECTOR_TRAP_HANDLER |
177 | 178 | ||
- | 179 | /* TT = 0x64, TL = 0, fast_instruction_access_MMU_miss */ |
|
- | 180 | .org trap_table + TT_FAST_INSTRUCTION_ACCESS_MMU_MISS*ENTRY_SIZE |
|
- | 181 | .global fast_instruction_access_mmu_miss_handler |
|
- | 182 | fast_instruction_access_mmu_miss_handler: |
|
- | 183 | FAST_INSTRUCTION_ACCESS_MMU_MISS_HANDLER |
|
- | 184 | ||
- | 185 | /* TT = 0x68, TL = 0, fast_data_access_MMU_miss */ |
|
- | 186 | .org trap_table + TT_FAST_DATA_ACCESS_MMU_MISS*ENTRY_SIZE |
|
- | 187 | .global fast_data_access_mmu_miss_handler |
|
- | 188 | fast_data_access_mmu_miss_handler: |
|
- | 189 | FAST_DATA_ACCESS_MMU_MISS_HANDLER |
|
- | 190 | ||
- | 191 | /* TT = 0x6c, TL = 0, fast_data_access_protection */ |
|
- | 192 | .org trap_table + TT_FAST_DATA_ACCESS_PROTECTION*ENTRY_SIZE |
|
- | 193 | .global fast_data_access_protection_handler |
|
- | 194 | fast_data_access_protection_handler: |
|
- | 195 | FAST_DATA_ACCESS_PROTECTION_HANDLER |
|
- | 196 | ||
178 | /* TT = 0x80, TL = 0, spill_0_normal handler */ |
197 | /* TT = 0x80, TL = 0, spill_0_normal handler */ |
179 | .org trap_table + TT_SPILL_0_NORMAL*ENTRY_SIZE |
198 | .org trap_table + TT_SPILL_0_NORMAL*ENTRY_SIZE |
180 | .global spill_0_normal |
199 | .global spill_0_normal |
181 | spill_0_normal: |
200 | spill_0_normal: |
182 | SPILL_NORMAL_HANDLER |
201 | SPILL_NORMAL_HANDLER |
Line 207... | Line 226... | ||
207 | .org trap_table + (TT_MEM_ADDRESS_NOT_ALIGNED+512)*ENTRY_SIZE |
226 | .org trap_table + (TT_MEM_ADDRESS_NOT_ALIGNED+512)*ENTRY_SIZE |
208 | .global mem_address_not_aligned_high |
227 | .global mem_address_not_aligned_high |
209 | mem_address_not_aligned_high: |
228 | mem_address_not_aligned_high: |
210 | SIMPLE_HANDLER do_mem_address_not_aligned |
229 | SIMPLE_HANDLER do_mem_address_not_aligned |
211 | 230 | ||
- | 231 | /* TT = 0x64, TL > 0, fast_instruction_access_MMU_miss */ |
|
- | 232 | .org trap_table + (TT_FAST_INSTRUCTION_ACCESS_MMU_MISS+512)*ENTRY_SIZE |
|
- | 233 | .global fast_instruction_access_mmu_miss_handler_high |
|
- | 234 | fast_instruction_access_mmu_miss_handler_high: |
|
- | 235 | FAST_INSTRUCTION_ACCESS_MMU_MISS_HANDLER |
|
- | 236 | ||
- | 237 | /* TT = 0x68, TL > 0, fast_data_access_MMU_miss */ |
|
- | 238 | .org trap_table + (TT_FAST_DATA_ACCESS_MMU_MISS+512)*ENTRY_SIZE |
|
- | 239 | .global fast_data_access_mmu_miss_handler_high |
|
- | 240 | fast_data_access_mmu_miss_handler_high: |
|
- | 241 | FAST_DATA_ACCESS_MMU_MISS_HANDLER |
|
- | 242 | ||
- | 243 | /* TT = 0x6c, TL > 0, fast_data_access_protection */ |
|
- | 244 | .org trap_table + (TT_FAST_DATA_ACCESS_PROTECTION+512)*ENTRY_SIZE |
|
- | 245 | .global fast_data_access_protection_handler_high |
|
- | 246 | fast_data_access_protection_handler_high: |
|
- | 247 | FAST_DATA_ACCESS_PROTECTION_HANDLER |
|
- | 248 | ||
212 | /* TT = 0x80, TL > 0, spill_0_normal handler */ |
249 | /* TT = 0x80, TL > 0, spill_0_normal handler */ |
213 | .org trap_table + (TT_SPILL_0_NORMAL+512)*ENTRY_SIZE |
250 | .org trap_table + (TT_SPILL_0_NORMAL+512)*ENTRY_SIZE |
214 | .global spill_0_normal_high |
251 | .global spill_0_normal_high |
215 | spill_0_normal_high: |
252 | spill_0_normal_high: |
216 | SPILL_NORMAL_HANDLER |
253 | SPILL_NORMAL_HANDLER |