Rev 1829 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1829 | Rev 1831 | ||
---|---|---|---|
Line 101... | Line 101... | ||
101 | void tss_initialize(tss_t *t) |
101 | void tss_initialize(tss_t *t) |
102 | { |
102 | { |
103 | memsetb((uintptr_t) t, sizeof(struct tss), 0); |
103 | memsetb((uintptr_t) t, sizeof(struct tss), 0); |
104 | } |
104 | } |
105 | 105 | ||
- | 106 | static void trap(void) |
|
- | 107 | { |
|
- | 108 | } |
|
- | 109 | ||
106 | void traps_init(void) |
110 | void traps_init(void) |
107 | { |
111 | { |
108 | index_t i; |
112 | index_t i; |
109 | 113 | ||
110 | for (i = 0; i < IDT_ITEMS; i++) { |
114 | for (i = 0; i < IDT_ITEMS; i++) { |
Line 114... | Line 118... | ||
114 | traps[i].flags = 3; |
118 | traps[i].flags = 3; |
115 | else |
119 | else |
116 | traps[i].flags = 0; |
120 | traps[i].flags = 0; |
117 | 121 | ||
118 | traps[i].cs = XEN_CS; |
122 | traps[i].cs = XEN_CS; |
119 | traps[i].address = ((uintptr_t) interrupt_handlers) + i * interrupt_handler_size; |
123 | traps[i].address = trap; |
120 | exc_register(i, "undef", (iroutine) null_interrupt); |
124 | exc_register(i, "undef", (iroutine) null_interrupt); |
121 | } |
125 | } |
122 | traps[IDT_ITEMS].vector = 0; |
126 | traps[IDT_ITEMS].vector = 0; |
123 | traps[IDT_ITEMS].flags = 0; |
127 | traps[IDT_ITEMS].flags = 0; |
124 | traps[IDT_ITEMS].cs = 0; |
128 | traps[IDT_ITEMS].cs = 0; |