Subversion Repositories HelenOS

Rev

Rev 1829 | Go to most recent revision | Show entire file | Ignore 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;