Rev 2233 | Rev 3104 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2233 | Rev 2612 | ||
---|---|---|---|
Line 131... | Line 131... | ||
131 | 131 | ||
132 | d->access = AR_PRESENT | AR_INTERRUPT; /* masking interrupt */ |
132 | d->access = AR_PRESENT | AR_INTERRUPT; /* masking interrupt */ |
133 | 133 | ||
134 | if (i == VECTOR_SYSCALL) { |
134 | if (i == VECTOR_SYSCALL) { |
135 | /* |
135 | /* |
136 | * The syscall interrupt gate must be calleable from userland. |
136 | * The syscall interrupt gate must be calleable from |
- | 137 | * userland. |
|
137 | */ |
138 | */ |
138 | d->access |= DPL_USER; |
139 | d->access |= DPL_USER; |
139 | } |
140 | } |
140 | 141 | ||
141 | idt_setoffset(d, ((uintptr_t) interrupt_handlers) + i * interrupt_handler_size); |
142 | idt_setoffset(d, ((uintptr_t) interrupt_handlers) + |
- | 143 | i * interrupt_handler_size); |
|
142 | } |
144 | } |
143 | } |
145 | } |
144 | 146 | ||
145 | 147 | ||
146 | /* Clean IOPL(12,13) and NT(14) flags in EFLAGS register */ |
148 | /* Clean IOPL(12,13) and NT(14) flags in EFLAGS register */ |