version 1.8, 2005/12/11 12:16:21 |
version 1.8.20.3, 2007/01/14 13:57:13 |
|
|
#endif /* DIAGNOSTIC */ |
#endif /* DIAGNOSTIC */ |
movq %rsp,%rdi |
movq %rsp,%rdi |
call _C_LABEL(trap) |
call _C_LABEL(trap) |
|
movq CPUVAR(CURLWP),%r14 |
2: /* Check for ASTs on exit to user mode. */ |
2: /* Check for ASTs on exit to user mode. */ |
cli |
cli |
CHECK_ASTPENDING(%r11) |
CHECK_ASTPENDING(%r14) |
je 1f |
je 1f |
testb $SEL_RPL,TF_CS(%rsp) |
testb $SEL_RPL,TF_CS(%rsp) |
jz 1f |
jz 1f |
5: CLEAR_ASTPENDING(%r11) |
CLEAR_ASTPENDING(%r14) |
sti |
sti |
movl $T_ASTFLT,TF_TRAPNO(%rsp) |
movl $T_ASTFLT,TF_TRAPNO(%rsp) |
movq %rsp,%rdi |
movq %rsp,%rdi |
Line 360 IDTVEC(resume_lapic_ltimer) |
|
Line 361 IDTVEC(resume_lapic_ltimer) |
|
movl $IPL_CLOCK,CPUVAR(ILEVEL) |
movl $IPL_CLOCK,CPUVAR(ILEVEL) |
sti |
sti |
pushq %rbx |
pushq %rbx |
|
movq %rsp,%rsi |
xorq %rdi,%rdi |
xorq %rdi,%rdi |
call _C_LABEL(lapic_clockintr) |
call _C_LABEL(lapic_clockintr) |
jmp _C_LABEL(Xdoreti) |
jmp _C_LABEL(Xdoreti) |
Line 415 IDTVEC(intr_/**/name/**/num) ;\ |
|
Line 417 IDTVEC(intr_/**/name/**/num) ;\ |
|
movl IH_LEVEL(%rbx),%r12d ;\ |
movl IH_LEVEL(%rbx),%r12d ;\ |
cmpl %r13d,%r12d ;\ |
cmpl %r13d,%r12d ;\ |
jle 7f ;\ |
jle 7f ;\ |
|
movq %rsp,%rsi ;\ |
movq IH_ARG(%rbx),%rdi ;\ |
movq IH_ARG(%rbx),%rdi ;\ |
movl %r12d,CPUVAR(ILEVEL) ;\ |
movl %r12d,CPUVAR(ILEVEL) ;\ |
call *IH_FUN(%rbx) /* call it */ ;\ |
call *IH_FUN(%rbx) /* call it */ ;\ |