Subversion Repositories HelenOS

Rev

Rev 1860 | Rev 1862 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1860 Rev 1861
Line 57... Line 57...
57
 
57
 
58
/* TT = 0x08, TL = 0, instruction_access_exception */
58
/* TT = 0x08, TL = 0, instruction_access_exception */
59
.org trap_table + TT_INSTRUCTION_ACCESS_EXCEPTION*ENTRY_SIZE
59
.org trap_table + TT_INSTRUCTION_ACCESS_EXCEPTION*ENTRY_SIZE
60
.global instruction_access_exception
60
.global instruction_access_exception
61
instruction_access_exception:
61
instruction_access_exception:
62
	SIMPLE_HANDLER do_instruction_access_exc
62
	PREEMPTIBLE_HANDLER do_instruction_access_exc
63
 
63
 
64
/* TT = 0x10, TL = 0, illegal_instruction */
64
/* TT = 0x10, TL = 0, illegal_instruction */
65
.org trap_table + TT_ILLEGAL_INSTRUCTION*ENTRY_SIZE
65
.org trap_table + TT_ILLEGAL_INSTRUCTION*ENTRY_SIZE
66
.global illegal_instruction
66
.global illegal_instruction
67
illegal_instruction:
67
illegal_instruction:
68
	SIMPLE_HANDLER do_illegal_instruction
68
	PREEMPTIBLE_HANDLER do_illegal_instruction
69
 
69
 
70
/* TT = 0x24, TL = 0, clean_window handler */
70
/* TT = 0x24, TL = 0, clean_window handler */
71
.org trap_table + TT_CLEAN_WINDOW*ENTRY_SIZE
71
.org trap_table + TT_CLEAN_WINDOW*ENTRY_SIZE
72
.global clean_window_handler
72
.global clean_window_handler
73
clean_window_handler:
73
clean_window_handler:
Line 75... Line 75...
75
 
75
 
76
/* TT = 0x32, TL = 0, data_access_error */
76
/* TT = 0x32, TL = 0, data_access_error */
77
.org trap_table + TT_DATA_ACCESS_ERROR*ENTRY_SIZE
77
.org trap_table + TT_DATA_ACCESS_ERROR*ENTRY_SIZE
78
.global data_access_error
78
.global data_access_error
79
data_access_error:
79
data_access_error:
80
	SIMPLE_HANDLER do_data_access_error
80
	PREEMPTIBLE_HANDLER do_data_access_error
81
 
81
 
82
/* TT = 0x34, TL = 0, mem_address_not_aligned */
82
/* TT = 0x34, TL = 0, mem_address_not_aligned */
83
.org trap_table + TT_MEM_ADDRESS_NOT_ALIGNED*ENTRY_SIZE
83
.org trap_table + TT_MEM_ADDRESS_NOT_ALIGNED*ENTRY_SIZE
84
.global mem_address_not_aligned
84
.global mem_address_not_aligned
85
mem_address_not_aligned:
85
mem_address_not_aligned:
86
	SIMPLE_HANDLER do_mem_address_not_aligned
86
	PREEMPTIBLE_HANDLER do_mem_address_not_aligned
87
 
87
 
88
/* TT = 0x41, TL = 0, interrupt_level_1 handler */
88
/* TT = 0x41, TL = 0, interrupt_level_1 handler */
89
.org trap_table + TT_INTERRUPT_LEVEL_1*ENTRY_SIZE
89
.org trap_table + TT_INTERRUPT_LEVEL_1*ENTRY_SIZE
90
.global interrupt_level_1_handler
90
.global interrupt_level_1_handler
91
interrupt_level_1_handler:
91
interrupt_level_1_handler:
Line 235... Line 235...
235
 
235
 
236
/* TT = 0x08, TL > 0, instruction_access_exception */
236
/* TT = 0x08, TL > 0, instruction_access_exception */
237
.org trap_table + (TT_INSTRUCTION_ACCESS_EXCEPTION+512)*ENTRY_SIZE
237
.org trap_table + (TT_INSTRUCTION_ACCESS_EXCEPTION+512)*ENTRY_SIZE
238
.global instruction_access_exception_high
238
.global instruction_access_exception_high
239
instruction_access_exception_high:
239
instruction_access_exception_high:
240
	SIMPLE_HANDLER do_instruction_access_exc
240
	PREEMPTIBLE_HANDLER do_instruction_access_exc
241
 
241
 
242
/* TT = 0x10, TL > 0, illegal_instruction */
242
/* TT = 0x10, TL > 0, illegal_instruction */
243
.org trap_table + (TT_ILLEGAL_INSTRUCTION+512)*ENTRY_SIZE
243
.org trap_table + (TT_ILLEGAL_INSTRUCTION+512)*ENTRY_SIZE
244
.global illegal_instruction_high
244
.global illegal_instruction_high
245
illegal_instruction_high:
245
illegal_instruction_high:
246
	SIMPLE_HANDLER do_illegal_instruction
246
	PREEMPTIBLE_HANDLER do_illegal_instruction
247
 
247
 
248
/* TT = 0x24, TL > 0, clean_window handler */
248
/* TT = 0x24, TL > 0, clean_window handler */
249
.org trap_table + (TT_CLEAN_WINDOW+512)*ENTRY_SIZE
249
.org trap_table + (TT_CLEAN_WINDOW+512)*ENTRY_SIZE
250
.global clean_window_handler_high
250
.global clean_window_handler_high
251
clean_window_handler_high:
251
clean_window_handler_high:
Line 253... Line 253...
253
 
253
 
254
/* TT = 0x32, TL > 0, data_access_error */
254
/* TT = 0x32, TL > 0, data_access_error */
255
.org trap_table + (TT_DATA_ACCESS_ERROR+512)*ENTRY_SIZE
255
.org trap_table + (TT_DATA_ACCESS_ERROR+512)*ENTRY_SIZE
256
.global data_access_error_high
256
.global data_access_error_high
257
data_access_error_high:
257
data_access_error_high:
258
	SIMPLE_HANDLER do_data_access_error
258
	PREEMPTIBLE_HANDLER do_data_access_error
259
 
259
 
260
/* TT = 0x34, TL > 0, mem_address_not_aligned */
260
/* TT = 0x34, TL > 0, mem_address_not_aligned */
261
.org trap_table + (TT_MEM_ADDRESS_NOT_ALIGNED+512)*ENTRY_SIZE
261
.org trap_table + (TT_MEM_ADDRESS_NOT_ALIGNED+512)*ENTRY_SIZE
262
.global mem_address_not_aligned_high
262
.global mem_address_not_aligned_high
263
mem_address_not_aligned_high:
263
mem_address_not_aligned_high:
264
	SIMPLE_HANDLER do_mem_address_not_aligned
264
	PREEMPTIBLE_HANDLER do_mem_address_not_aligned
265
 
265
 
266
/* TT = 0x64, TL > 0, fast_instruction_access_MMU_miss */
266
/* TT = 0x64, TL > 0, fast_instruction_access_MMU_miss */
267
.org trap_table + (TT_FAST_INSTRUCTION_ACCESS_MMU_MISS+512)*ENTRY_SIZE
267
.org trap_table + (TT_FAST_INSTRUCTION_ACCESS_MMU_MISS+512)*ENTRY_SIZE
268
.global fast_instruction_access_mmu_miss_handler_high
268
.global fast_instruction_access_mmu_miss_handler_high
269
fast_instruction_access_mmu_miss_handler_high:
269
fast_instruction_access_mmu_miss_handler_high: