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

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

Diff for /src/sys/arch/vax/vax/lock_stubs.S between version 1.18 and 1.19

version 1.18, 2013/12/09 09:35:16 version 1.19, 2022/04/06 22:47:58
Line 101  ENTRY(mutex_spin_enter, 0)
Line 101  ENTRY(mutex_spin_enter, 0)
         mfpr    $PR_IPL, %r2                    /* get current IPL */          mfpr    $PR_IPL, %r2                    /* get current IPL */
         movzbl  MTX_IPL(%r0), %r3          movzbl  MTX_IPL(%r0), %r3
         cmpl    %r3, %r2                        /* does mutex have > IPL? */          cmpl    %r3, %r2                        /* does mutex have > IPL? */
         bleq    1f                              /*   no, leave IPL alone */          bleq    1f                              /*   no, leave IPL alone */
         mtpr    %r3, $PR_IPL                    /*   yes, raise IPL */          mtpr    %r3, $PR_IPL                    /*   yes, raise IPL */
 1:      mfpr    $PR_SSP, %r4                    /* get curlwp */  1:      mfpr    $PR_SSP, %r4                    /* get curlwp */
         movl    L_CPU(%r4),%r4                  /* get cpu_info */          movl    L_CPU(%r4),%r4                  /* get cpu_info */
Line 137  ENTRY(mutex_spin_exit, 0)
Line 137  ENTRY(mutex_spin_exit, 0)
         incl    CI_MTX_COUNT(%r4)               /* incr mtx count */          incl    CI_MTX_COUNT(%r4)               /* incr mtx count */
         bneq    1f                              /* still held? */          bneq    1f                              /* still held? */
         mtpr    %r2, $PR_IPL                    /*   no, restore saved ipl */          mtpr    %r2, $PR_IPL                    /*   no, restore saved ipl */
 1:      ret  1:      ret
   
 #if defined(DIAGNOSTIC) || defined(MULTIPROCESSOR)  #if defined(DIAGNOSTIC) || defined(MULTIPROCESSOR)
 2:      callg   (%ap), _C_LABEL(mutex_vector_exit)      /* slow path */  2:      callg   (%ap), _C_LABEL(mutex_vector_exit)      /* slow path */

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19

CVSweb <webmaster@jp.NetBSD.org>