Subversion Repositories HelenOS

Rev

Rev 4433 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4433 Rev 4638
Line 319... Line 319...
319
.org trap_table + TT_INTERRUPT_LEVEL_15*ENTRY_SIZE
319
.org trap_table + TT_INTERRUPT_LEVEL_15*ENTRY_SIZE
320
.global interrupt_level_15_handler_tl0
320
.global interrupt_level_15_handler_tl0
321
interrupt_level_15_handler_tl0:
321
interrupt_level_15_handler_tl0:
322
	INTERRUPT_LEVEL_N_HANDLER 15
322
	INTERRUPT_LEVEL_N_HANDLER 15
323
 
323
 
324
/* TT = 0x60, TL = 0, interrupt_vector_trap handler */
-
 
325
.org trap_table + TT_INTERRUPT_VECTOR_TRAP*ENTRY_SIZE
-
 
326
.global interrupt_vector_trap_handler_tl0
-
 
327
interrupt_vector_trap_handler_tl0:
-
 
328
	INTERRUPT_VECTOR_TRAP_HANDLER
-
 
329
 
-
 
330
/* TT = 0x64, TL = 0, fast_instruction_access_MMU_miss */
324
/* TT = 0x64, TL = 0, fast_instruction_access_MMU_miss */
331
.org trap_table + TT_FAST_INSTRUCTION_ACCESS_MMU_MISS*ENTRY_SIZE
325
.org trap_table + TT_FAST_INSTRUCTION_ACCESS_MMU_MISS*ENTRY_SIZE
332
.global fast_instruction_access_mmu_miss_handler_tl0
326
.global fast_instruction_access_mmu_miss_handler_tl0
333
fast_instruction_access_mmu_miss_handler_tl0:
327
fast_instruction_access_mmu_miss_handler_tl0:
334
	FAST_INSTRUCTION_ACCESS_MMU_MISS_HANDLER
328
	FAST_INSTRUCTION_ACCESS_MMU_MISS_HANDLER
Line 343... Line 337...
343
.org trap_table + TT_FAST_DATA_ACCESS_PROTECTION*ENTRY_SIZE
337
.org trap_table + TT_FAST_DATA_ACCESS_PROTECTION*ENTRY_SIZE
344
.global fast_data_access_protection_handler_tl0
338
.global fast_data_access_protection_handler_tl0
345
fast_data_access_protection_handler_tl0:
339
fast_data_access_protection_handler_tl0:
346
	FAST_DATA_ACCESS_PROTECTION_HANDLER 0
340
	FAST_DATA_ACCESS_PROTECTION_HANDLER 0
347
 
341
 
-
 
342
/* TT = 0x7c, TL = 0, cpu_mondo */
-
 
343
.org trap_table + TT_CPU_MONDO*ENTRY_SIZE
-
 
344
.global cpu_mondo_handler_tl0
-
 
345
cpu_mondo_handler_tl0:
-
 
346
PREEMPTIBLE_HANDLER cpu_mondo
-
 
347
 
348
/* TT = 0x80, TL = 0, spill_0_normal handler */
348
/* TT = 0x80, TL = 0, spill_0_normal handler */
349
.org trap_table + TT_SPILL_0_NORMAL*ENTRY_SIZE
349
.org trap_table + TT_SPILL_0_NORMAL*ENTRY_SIZE
350
.global spill_0_normal_tl0
350
.global spill_0_normal_tl0
351
spill_0_normal_tl0:
351
spill_0_normal_tl0:
352
	SPILL_NORMAL_HANDLER_KERNEL
352
	SPILL_NORMAL_HANDLER_KERNEL
Line 525... Line 525...
525
.org trap_table + (TT_FAST_DATA_ACCESS_PROTECTION+512)*ENTRY_SIZE
525
.org trap_table + (TT_FAST_DATA_ACCESS_PROTECTION+512)*ENTRY_SIZE
526
.global fast_data_access_protection_handler_tl1
526
.global fast_data_access_protection_handler_tl1
527
fast_data_access_protection_handler_tl1:
527
fast_data_access_protection_handler_tl1:
528
	FAST_DATA_ACCESS_PROTECTION_HANDLER 1
528
	FAST_DATA_ACCESS_PROTECTION_HANDLER 1
529
 
529
 
-
 
530
/* TT = 0x7c, TL > 0, cpu_mondo */
-
 
531
.org trap_table + (TT_CPU_MONDO+512)*ENTRY_SIZE
-
 
532
.global cpu_mondo_handler_tl1
-
 
533
cpu_mondo_handler_tl1:
-
 
534
	wrpr %g0, %tl
-
 
535
	PREEMPTIBLE_HANDLER cpu_mondo
-
 
536
 
530
/* TT = 0x80, TL > 0, spill_0_normal handler */
537
/* TT = 0x80, TL > 0, spill_0_normal handler */
531
.org trap_table + (TT_SPILL_0_NORMAL+512)*ENTRY_SIZE
538
.org trap_table + (TT_SPILL_0_NORMAL+512)*ENTRY_SIZE
532
.global spill_0_normal_tl1
539
.global spill_0_normal_tl1
533
spill_0_normal_tl1:
540
spill_0_normal_tl1:
534
	SPILL_NORMAL_HANDLER_KERNEL
541
	SPILL_NORMAL_HANDLER_KERNEL
Line 814... Line 821...
814
	nop
821
	nop
815
	INLINE_FILL %g3, %g4
822
	INLINE_FILL %g3, %g4
816
 
823
 
817
5:
824
5:
818
	restore
825
	restore
819
 
-
 
820
	retry
826
	retry
821
.endm
827
.endm
822
 
828
 
823
/*
829
/*
824
 * Spills the window at CWP + 2 to the userspace window buffer. This macro
830
 * Spills the window at CWP + 2 to the userspace window buffer. This macro