| version 1.14, 2003/08/11 21:15:50 |
version 1.15, 2003/08/20 21:48:37 |
|
|
| movl CPUVAR(CURLWP),%edx |
movl CPUVAR(CURLWP),%edx |
| movl %esp,L_MD_REGS(%edx) # save pointer to frame |
movl %esp,L_MD_REGS(%edx) # save pointer to frame |
| movl L_PROC(%edx),%edx |
movl L_PROC(%edx),%edx |
| |
pushl %esp |
| call *P_MD_SYSCALL(%edx) # get pointer to syscall() function |
call *P_MD_SYSCALL(%edx) # get pointer to syscall() function |
| |
addl $4,%esp |
| 2: /* Check for ASTs on exit to user mode. */ |
2: /* Check for ASTs on exit to user mode. */ |
| cli |
cli |
| CHECK_ASTPENDING(%eax) |
CHECK_ASTPENDING(%eax) |
|
|
| CLEAR_ASTPENDING(%eax) |
CLEAR_ASTPENDING(%eax) |
| sti |
sti |
| /* Pushed T_ASTFLT into tf_trapno on entry. */ |
/* Pushed T_ASTFLT into tf_trapno on entry. */ |
| |
pushl %esp |
| call _C_LABEL(trap) |
call _C_LABEL(trap) |
| |
addl $4,%esp |
| jmp 2b |
jmp 2b |
| #ifndef DIAGNOSTIC |
#ifndef DIAGNOSTIC |
| 1: INTRFASTEXIT |
1: INTRFASTEXIT |