Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-1-5]: src/sys/arch/mvme68k/mvme68k Pullup from trunk: 1.62



details:   https://anonhg.NetBSD.org/src/rev/d46fb7368533
branches:  netbsd-1-5
changeset: 488656:d46fb7368533
user:      scw <scw%NetBSD.org@localhost>
date:      Sat Jul 22 15:50:13 2000 +0000

description:
Pullup from trunk: 1.62
Approved by: thorpej

Implement generic soft interrupts for mvme68k.

diffstat:

 sys/arch/mvme68k/mvme68k/locore.s |  16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diffs (60 lines):

diff -r c180279ffb90 -r d46fb7368533 sys/arch/mvme68k/mvme68k/locore.s
--- a/sys/arch/mvme68k/mvme68k/locore.s Sat Jul 22 15:49:41 2000 +0000
+++ b/sys/arch/mvme68k/mvme68k/locore.s Sat Jul 22 15:50:13 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.s,v 1.61 2000/05/31 05:06:53 thorpej Exp $      */
+/*     $NetBSD: locore.s,v 1.61.2.1 2000/07/22 15:50:13 scw Exp $      */
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -876,10 +876,10 @@
        tstl    _C_LABEL(astpending)
        jne     Lrei2
        tstb    _C_LABEL(ssir)
-       jeq     Ltrap1
+       jne     Ltrap1
        movw    #SPL1,sr
        tstb    _C_LABEL(ssir)
-       jne     Lsir1
+       jeq     Lsir1
 Ltrap1:
        movl    sp@(FR_SP),a0           | grab and restore
        movl    a0,usp                  |   user SP
@@ -1084,6 +1084,10 @@
  *
  * This code is complicated by the fact that sendsig may have been called
  * necessitating a stack cleanup.
+ *
+ * Note that 'ssir' is zero when a soft interrupt is pending, otherwise it
+ * is non-zero. This is because it is tested elsewhere using the m68k `tas'
+ * instruction.
  */
 
 BSS(ssir,1)
@@ -1125,7 +1129,7 @@
        rte                             | and do real RTE
 Lchksir:
        tstb    _C_LABEL(ssir)          | SIR pending?
-       jeq     Ldorte                  | no, all done
+       jne     Ldorte                  | no, all done
        movl    d0,sp@-                 | need a scratch register
        movw    sp@(4),d0               | get SR
        andw    #PSL_IPL7,d0            | mask all but IPL
@@ -1134,7 +1138,7 @@
 Lgotsir:
        movw    #SPL1,sr                | prevent others from servicing int
        tstb    _C_LABEL(ssir)          | too late?
-       jeq     Ldorte                  | yes, oh well...
+       jne     Ldorte                  | yes, oh well...
        clrl    sp@-                    | stack adjust
        moveml  #0xFFFF,sp@-            | save all registers
        movl    usp,a1                  | including
@@ -1516,7 +1520,7 @@
        movw    sr,d0                   | get old SR for return
        movw    #PSL_LOWIPL,sr          | restore new SR
        tstb    _C_LABEL(ssir)          | software interrupt pending?
-       jeq     Lspldone                | no, all done
+       jne     Lspldone                | no, all done
        subql   #4,sp                   | make room for RTE frame
        movl    sp@(4),sp@(2)           | position return address
        clrw    sp@(6)                  | set frame type 0



Home | Main Index | Thread Index | Old Index