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 */ |