Rev 1212 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1212 | Rev 1278 | ||
---|---|---|---|
Line 242... | Line 242... | ||
242 | swapgs |
242 | swapgs |
243 | 243 | ||
244 | sti |
244 | sti |
245 | movq %r9, %rcx # Exchange last parameter as a third |
245 | movq %r9, %rcx # Exchange last parameter as a third |
246 | 246 | ||
247 | cmp $2, %r8 # Is this SYS_INT_CONTROL |
- | |
248 | je sys_int_ctrl |
- | |
249 | - | ||
250 | call syscall_handler |
247 | call syscall_handler |
251 | sys_end: |
- | |
252 | cli # We will be touching stack pointer |
248 | cli # We will be touching stack pointer |
253 | 249 | ||
254 | popq %r11 |
250 | popq %r11 |
255 | popq %rcx |
251 | popq %rcx |
256 | movq 0(%rsp), %rsp |
252 | movq 0(%rsp), %rsp |
257 | sysretq |
253 | sysretq |
258 | 254 | ||
259 | sys_int_ctrl: |
- | |
260 | mov %rsp, %rsi # Pointer to flags |
- | |
261 | call ddi_int_control |
- | |
262 | jmp sys_end |
- | |
263 | - | ||
264 | 255 | ||
265 | .data |
256 | .data |
266 | .global interrupt_handler_size |
257 | .global interrupt_handler_size |
267 | 258 | ||
268 | interrupt_handler_size: .quad (h_end-h_start)/IDT_ITEMS |
259 | interrupt_handler_size: .quad (h_end-h_start)/IDT_ITEMS |