| version 1.55, 2007/11/10 23:04:29 |
version 1.56, 2007/11/13 18:20:18 |
| Line 767 ENTRY(cpu_switchto) |
|
| Line 767 ENTRY(cpu_switchto) |
|
| testl $LW_SYSTEM,L_FLAG(%edi) |
testl $LW_SYSTEM,L_FLAG(%edi) |
| jnz 4f |
jnz 4f |
| |
|
| /* Is this process using RAS (restartable atomic sequences)? */ |
|
| movl L_PROC(%edi),%eax |
|
| cmpl $0,P_RASLIST(%eax) |
|
| jne 5f |
|
| |
|
| /* Restore thread-private %fs/%gs descriptors. */ |
/* Restore thread-private %fs/%gs descriptors. */ |
| movl PCB_FSD(%ebx), %eax |
movl PCB_FSD(%ebx), %eax |
| movl PCB_FSD+4(%ebx), %edx |
movl PCB_FSD+4(%ebx), %edx |
| Line 782 ENTRY(cpu_switchto) |
|
| Line 777 ENTRY(cpu_switchto) |
|
| movl %eax, (GUGS_SEL*8)(%ecx) |
movl %eax, (GUGS_SEL*8)(%ecx) |
| movl %edx, (GUGS_SEL*8+4)(%ecx) |
movl %edx, (GUGS_SEL*8+4)(%ecx) |
| |
|
| |
/* Is this process using RAS (restartable atomic sequences)? */ |
| |
movl L_PROC(%edi),%eax |
| |
cmpl $0,P_RASLIST(%eax) |
| |
jne 5f |
| |
|
| /* |
/* |
| * Restore cr0 (including FPU state). Raise the IPL to IPL_IPI. |
* Restore cr0 (including FPU state). Raise the IPL to IPL_IPI. |
| * FPU IPIs can alter the LWP's saved cr0. Dropping the priority |
* FPU IPIs can alter the LWP's saved cr0. Dropping the priority |