Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/arch/i386/i386/locore.S,v retrieving revision 1.55 retrieving revision 1.56 diff -u -p -r1.55 -r1.56 --- src/sys/arch/i386/i386/locore.S 2007/11/10 23:04:29 1.55 +++ src/sys/arch/i386/i386/locore.S 2007/11/13 18:20:18 1.56 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.S,v 1.55 2007/11/10 23:04:29 ad Exp $ */ +/* $NetBSD: locore.S,v 1.56 2007/11/13 18:20:18 ad Exp $ */ /* * Copyright-o-rama! @@ -767,11 +767,6 @@ ENTRY(cpu_switchto) testl $LW_SYSTEM,L_FLAG(%edi) 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. */ movl PCB_FSD(%ebx), %eax movl PCB_FSD+4(%ebx), %edx @@ -782,6 +777,11 @@ ENTRY(cpu_switchto) movl %eax, (GUGS_SEL*8)(%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. * FPU IPIs can alter the LWP's saved cr0. Dropping the priority