Subversion Repositories HelenOS-historic

Rev

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

Rev 534 Rev 630
Line 32... Line 32...
32
 * kernel-provided handlers from the second trap table, trap_table_kernel.
32
 * kernel-provided handlers from the second trap table, trap_table_kernel.
33
 */
33
 */
34
 
34
 
35
.text
35
.text
36
 
36
 
37
#include <arch/trap_table.h>
37
#include <arch/trap/trap_table.h>
-
 
38
#include <arch/trap/regwin.h>
38
 
39
 
39
#define TABLE_SIZE	TRAP_TABLE_SIZE
40
#define TABLE_SIZE	TRAP_TABLE_SIZE
40
#define ENTRY_SIZE	TRAP_TABLE_ENTRY_SIZE
41
#define ENTRY_SIZE	TRAP_TABLE_ENTRY_SIZE
41
 
42
 
42
 
43
 
Line 53... Line 54...
53
 * Kernel-provided trap handlers.
54
 * Kernel-provided trap handlers.
54
 */
55
 */
55
.global trap_table_kernel
56
.global trap_table_kernel
56
trap_table_kernel:
57
trap_table_kernel:
57
 
58
 
58
/*
-
 
59
 * Hardware interrupts for TL=0.
59
/* TT = 0x24, TL = 0 *, clean_window handler */
60
 */
-
 
61
.org trap_table_kernel + 0*ENTRY_SIZE
60
.org trap_table_kernel + TT_CLEAN_WINDOW*ENTRY_SIZE
-
 
61
.global clean_window_handler
62
tl_0_hardware_traps:
62
clean_window_handler:
-
 
63
	CLEAN_WINDOW_HANDLER
63
 
64
 
-
 
65
/* TT = 0x80, TL = 0 *, spill_0_normal handler */
-
 
66
.org trap_table_kernel + TT_SPILL_0_NORMAL*ENTRY_SIZE
-
 
67
.global spill_0_normal
-
 
68
spill_0_normal:
-
 
69
	SPILL_NORMAL_HANDLER
64
/*
70
 
65
 * Register window spill/fill/clean traps for TL=0.
71
/* TT = 0xc0, TL = 0 *, fill_0_normal handler */
66
 */
-
 
67
.org trap_table_kernel + 128*ENTRY_SIZE
72
.org trap_table_kernel + TT_FILL_0_NORMAL*ENTRY_SIZE
68
tl_0_regwin_traps:
73
fill_0_normal:
-
 
74
	FILL_NORMAL_HANDLER
69
 
75
 
70
/*
76
/*
71
 * Software traps for TL=0.
77
 * Software traps for TL=0.
72
 */
78
 */
73
.org trap_table_kernel + 256*ENTRY_SIZE
79
.org trap_table_kernel + 256*ENTRY_SIZE
Line 82... Line 88...
82
 */
88
 */
83
.org trap_table_kernel + 512*ENTRY_SIZE
89
.org trap_table_kernel + 512*ENTRY_SIZE
84
tl_non_0_hardware_traps:
90
tl_non_0_hardware_traps:
85
 
91
 
86
/*
92
/*
87
 * Register window spill/fill/clean traps for TL>0.
93
 * Register window spill/fill traps for TL>0.
88
 */
94
 */
89
.org trap_table_kernel + 640*ENTRY_SIZE
95
.org trap_table_kernel + 640*ENTRY_SIZE
90
tl_non_0_regwin_traps:
96
tl_non_0_regwin_traps:
91
 
97
 
92
/*
98
/*