Subversion Repositories HelenOS-historic

Rev

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