[BACK]Return to locore.S CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / arch / i386 / i386

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/arch/i386/i386/locore.S between version 1.132 and 1.133

version 1.132, 2016/07/01 13:11:21 version 1.133, 2016/07/04 07:56:07
Line 1191  skip_save:
Line 1191  skip_save:
         /* Is this process using RAS (restartable atomic sequences)? */          /* Is this process using RAS (restartable atomic sequences)? */
         movl    L_PROC(%edi),%eax          movl    L_PROC(%edi),%eax
         cmpl    $0,P_RASLIST(%eax)          cmpl    $0,P_RASLIST(%eax)
         jne     5f          je      no_RAS
   
           /* Handle restartable atomic sequences (RAS). */
           movl    L_MD_REGS(%edi),%ecx
           pushl   TF_EIP(%ecx)
           pushl   %eax
           call    _C_LABEL(ras_lookup)
           addl    $8,%esp
           cmpl    $-1,%eax
           je      no_RAS
           movl    L_MD_REGS(%edi),%ecx
           movl    %eax,TF_EIP(%ecx)
   no_RAS:
   
         /*          /*
          * Restore cr0 (including FPU state).  Raise the IPL to IPL_HIGH.           * Restore cr0 (including FPU state).  Raise the IPL to IPL_HIGH.
          * FPU IPIs can alter the LWP's saved cr0.  Dropping the priority           * FPU IPIs can alter the LWP's saved cr0.  Dropping the priority
          * is deferred until mi_switch(), when cpu_switchto() returns.           * is deferred until mi_switch(), when cpu_switchto() returns.
          */           */
 2:  
 #ifdef XEN  #ifdef XEN
         pushl   %edi          pushl   %edi
         call    _C_LABEL(i386_tls_switch)          call    _C_LABEL(i386_tls_switch)
Line 1231  switch_return:
Line 1242  switch_return:
         popl    %ebx          popl    %ebx
         ret          ret
   
         /* Check for restartable atomic sequences (RAS). */  
 5:      movl    L_MD_REGS(%edi),%ecx  
         pushl   TF_EIP(%ecx)  
         pushl   %eax  
         call    _C_LABEL(ras_lookup)  
         addl    $8,%esp  
         cmpl    $-1,%eax  
         je      2b  
         movl    L_MD_REGS(%edi),%ecx  
         movl    %eax,TF_EIP(%ecx)  
         jmp     2b  
   
 .Lcopy_iobitmap:  .Lcopy_iobitmap:
         /* Copy I/O bitmap. */          /* Copy I/O bitmap. */
         incl    _C_LABEL(pmap_iobmp_evcnt)+EV_COUNT          incl    _C_LABEL(pmap_iobmp_evcnt)+EV_COUNT

Legend:
Removed from v.1.132  
changed lines
  Added in v.1.133

CVSweb <webmaster@jp.NetBSD.org>