Annotation of Net2/arch/i386/isa/icu.s, revision 1.1

1.1     ! root        1: /*-
        !             2:  * Copyright (c) 1989, 1990 William F. Jolitz.
        !             3:  * Copyright (c) 1990 The Regents of the University of California.
        !             4:  * All rights reserved.
        !             5:  *
        !             6:  * This code is derived from software contributed to Berkeley by
        !             7:  * William Jolitz.
        !             8:  *
        !             9:  * Redistribution and use in source and binary forms, with or without
        !            10:  * modification, are permitted provided that the following conditions
        !            11:  * are met:
        !            12:  * 1. Redistributions of source code must retain the above copyright
        !            13:  *    notice, this list of conditions and the following disclaimer.
        !            14:  * 2. Redistributions in binary form must reproduce the above copyright
        !            15:  *    notice, this list of conditions and the following disclaimer in the
        !            16:  *    documentation and/or other materials provided with the distribution.
        !            17:  * 3. All advertising materials mentioning features or use of this software
        !            18:  *    must display the following acknowledgement:
        !            19:  *     This product includes software developed by the University of
        !            20:  *     California, Berkeley and its contributors.
        !            21:  * 4. Neither the name of the University nor the names of its contributors
        !            22:  *    may be used to endorse or promote products derived from this software
        !            23:  *    without specific prior written permission.
        !            24:  *
        !            25:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
        !            26:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        !            27:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
        !            28:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
        !            29:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        !            30:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
        !            31:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
        !            32:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
        !            33:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
        !            34:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        !            35:  * SUCH DAMAGE.
        !            36:  *
        !            37:  *     @(#)icu.s       7.2 (Berkeley) 5/21/91
        !            38:  */
        !            39: 
        !            40: /*
        !            41:  * AT/386
        !            42:  * Vector interrupt control section
        !            43:  */
        !            44: 
        !            45:        .data
        !            46:        .globl  _imen
        !            47:        .globl  _cpl
        !            48: _cpl:  .long   0xffff                  # current priority level (all off)
        !            49: _imen: .long   0xffff                  # interrupt mask enable (all off)
        !            50:        .globl  _highmask
        !            51: _highmask:     .long   0xffff
        !            52:        .globl  _ttymask
        !            53: _ttymask:      .long   0
        !            54:        .globl  _biomask
        !            55: _biomask:      .long   0
        !            56:        .globl  _netmask
        !            57: _netmask:      .long   0
        !            58:        .globl  _isa_intr
        !            59: _isa_intr:     .space  16*4
        !            60: 
        !            61:        .text
        !            62: /*
        !            63:  * Handle return from interrupt after device handler finishes
        !            64:  */
        !            65: doreti:
        !            66:        cli
        !            67:        popl    %ebx                    # remove intr number
        !            68:        popl    %eax                    # get previous priority
        !            69:        # now interrupt frame is a trap frame!
        !            70:        movw    %ax,%cx
        !            71:        movw    %ax,_cpl
        !            72:        orw     _imen,%ax
        !            73:        NOP
        !            74:        outb    %al,$ IO_ICU1+1         # re-enable intr?
        !            75:        NOP
        !            76:        movb    %ah,%al
        !            77:        NOP
        !            78:        outb    %al,$ IO_ICU2+1
        !            79:        NOP
        !            80:        inb     $0x84,%al
        !            81: 
        !            82:        andw    $0xffff,%cx     
        !            83:        cmpw    $0,%cx                  # returning to zero?
        !            84:        je      1f
        !            85: 
        !            86:        pop     %es                     # nope, going to non-zero level
        !            87:        pop     %ds
        !            88:        popa
        !            89:        addl    $8,%esp
        !            90:        iret
        !            91: 
        !            92: 1:     cmpl    $0,_netisr              # check for softint s/traps
        !            93:        jne     1f
        !            94: 
        !            95:        pop     %es                     # none, going back to base pri
        !            96:        pop     %ds
        !            97:        popa
        !            98:        addl    $8,%esp
        !            99:        iret
        !           100:        
        !           101: #include "../net/netisr.h"
        !           102: 
        !           103: 1:
        !           104: 
        !           105: #define DONET(s, c)    ; \
        !           106:        .globl  c ;  \
        !           107:        movl    $ s ,%eax ;     \
        !           108:        btrl    %eax,_netisr ;  \
        !           109:        jnb     1f ; \
        !           110:        call    c ; \
        !           111: 1:
        !           112: 
        !           113:        call    _splnet
        !           114:        pushl   %eax
        !           115: 
        !           116:        DONET(NETISR_RAW,_rawintr)
        !           117: #ifdef INET
        !           118:        DONET(NETISR_IP,_ipintr)
        !           119: #endif
        !           120: #ifdef IMP
        !           121:        DONET(NETISR_IMP,_impintr)
        !           122: #endif
        !           123: #ifdef NS
        !           124:        DONET(NETISR_NS,_nsintr)
        !           125: #endif
        !           126: 
        !           127:        popl    %eax
        !           128:        movw    %ax,_cpl
        !           129:        orw     _imen,%ax
        !           130:        NOP
        !           131:        outb    %al,$ IO_ICU1+1         # re-enable intr?
        !           132:        NOP
        !           133:        movb    %ah,%al
        !           134:        NOP
        !           135:        outb    %al,$ IO_ICU2+1
        !           136:        NOP
        !           137:        inb     $0x84,%al
        !           138: 
        !           139:        # btrl  $ NETISR_SCLK,_netisr
        !           140:        movl    $ NETISR_SCLK,%eax      # stupid assembler, as usual
        !           141:        btrl    %eax,_netisr
        !           142:        jnb     1f
        !           143:        # back to an interrupt frame for a moment
        !           144:        call    _splsoftclock
        !           145:        pushl   %eax
        !           146:        pushl   $0xff   # dummy intr
        !           147:        call    _softclock
        !           148:        popl    %eax
        !           149:        call    _splx
        !           150:        popl    %eax
        !           151: 
        !           152:        jmp     2f
        !           153: 
        !           154:        /* 1:   btrl    $NETISR_AST,_netisr*/
        !           155: 1:
        !           156:        cmpw    $0x1f,13*4(%esp)        # to user?
        !           157:        jne     2f                      # nope, leave
        !           158:        movl    $ NETISR_AST,%eax       # stupid assembler, as usual
        !           159:        btrl    %eax,_netisr
        !           160:        jnb     2f
        !           161:        call    _trap
        !           162: 
        !           163: 2:     pop     %es
        !           164:        pop     %ds
        !           165:        popal
        !           166:        addl    $8,%esp
        !           167:        iret
        !           168: 
        !           169: /*
        !           170:  * Interrupt priority mechanism
        !           171:  *
        !           172:  * Two flavors -- imlXX masks relative to ISA noemenclature (for PC compat sw)
        !           173:  *             -- splXX masks with group mechanism for BSD purposes
        !           174:  */
        !           175: 
        !           176:        .globl  _splhigh
        !           177:        .globl  _splclock
        !           178: _splhigh:
        !           179: _splclock:
        !           180:        cli                             # disable interrupts
        !           181:        movw    $0xffff,%ax             # set new priority level
        !           182:        movw    %ax,%dx
        !           183:        # orw   _imen,%ax               # mask off those not enabled yet
        !           184:        movw    %ax,%cx
        !           185:        NOP
        !           186:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           187:        NOP
        !           188:        movb    %ah,%al
        !           189:        NOP
        !           190:        outb    %al,$ IO_ICU2+1
        !           191:        NOP
        !           192:        inb     $0x84,%al
        !           193:        movzwl  _cpl,%eax               # return old priority
        !           194:        movw    %dx,_cpl                # set new priority level
        !           195:        sti                             # enable interrupts
        !           196:        ret
        !           197: 
        !           198:        .globl  _spltty                 # block clists
        !           199: _spltty:
        !           200:        cli                             # disable interrupts
        !           201:        movw    _cpl,%ax
        !           202:        orw     _ttymask,%ax
        !           203:        movw    %ax,%dx
        !           204:        orw     _imen,%ax               # mask off those not enabled yet
        !           205:        movw    %ax,%cx
        !           206:        NOP
        !           207:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           208:        NOP
        !           209:        movb    %ah,%al
        !           210:        NOP
        !           211:        outb    %al,$ IO_ICU2+1
        !           212:        NOP
        !           213:        inb     $0x84,%al
        !           214:        movzwl  _cpl,%eax               # return old priority
        !           215:        movw    %dx,_cpl                # set new priority level
        !           216:        sti                             # enable interrupts
        !           217:        ret
        !           218: 
        !           219:        .globl  _splimp
        !           220:        .globl  _splnet
        !           221: _splimp:
        !           222: _splnet:
        !           223:        cli                             # disable interrupts
        !           224:        movw    _cpl,%ax
        !           225:        orw     _netmask,%ax
        !           226:        movw    %ax,%dx
        !           227:        orw     _imen,%ax               # mask off those not enabled yet
        !           228:        movw    %ax,%cx
        !           229:        NOP
        !           230:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           231:        NOP
        !           232:        movb    %ah,%al
        !           233:        NOP
        !           234:        outb    %al,$ IO_ICU2+1
        !           235:        NOP
        !           236:        inb     $0x84,%al
        !           237:        movzwl  _cpl,%eax               # return old priority
        !           238:        movw    %dx,_cpl                # set new priority level
        !           239:        sti                             # enable interrupts
        !           240:        ret
        !           241: 
        !           242:        .globl  _splbio 
        !           243: _splbio:
        !           244:        cli                             # disable interrupts
        !           245:        movw    _cpl,%ax
        !           246:        orw     _biomask,%ax
        !           247:        movw    %ax,%dx
        !           248:        orw     _imen,%ax               # mask off those not enabled yet
        !           249:        movw    %ax,%cx
        !           250:        NOP
        !           251:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           252:        NOP
        !           253:        movb    %ah,%al
        !           254:        NOP
        !           255:        outb    %al,$ IO_ICU2+1
        !           256:        NOP
        !           257:        inb     $0x84,%al
        !           258:        movzwl  _cpl,%eax               # return old priority
        !           259:        movw    %dx,_cpl                # set new priority level
        !           260:        sti                             # enable interrupts
        !           261:        ret
        !           262: 
        !           263:        .globl  _splsoftclock
        !           264: _splsoftclock:
        !           265:        cli                             # disable interrupts
        !           266:        movw    _cpl,%ax
        !           267:        orw     $0x8000,%ax             # set new priority level
        !           268:        movw    %ax,%dx
        !           269:        orw     _imen,%ax               # mask off those not enabled yet
        !           270:        movw    %ax,%cx
        !           271:        NOP
        !           272:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           273:        NOP
        !           274:        movb    %ah,%al
        !           275:        NOP
        !           276:        outb    %al,$ IO_ICU2+1
        !           277:        NOP
        !           278:        inb     $0x84,%al
        !           279:        movzwl  _cpl,%eax               # return old priority
        !           280:        movw    %dx,_cpl                # set new priority level
        !           281:        sti                             # enable interrupts
        !           282:        ret
        !           283: 
        !           284:        .globl _splnone
        !           285:        .globl _spl0
        !           286: _splnone:
        !           287: _spl0:
        !           288:        cli                             # disable interrupts
        !           289:        pushl   _cpl                    # save old priority
        !           290:        movw    _cpl,%ax
        !           291:        orw     _netmask,%ax            # mask off those network devices
        !           292:        movw    %ax,_cpl                # set new priority level
        !           293:        orw     _imen,%ax               # mask off those not enabled yet
        !           294:        NOP
        !           295:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           296:        NOP
        !           297:        movb    %ah,%al
        !           298:        NOP
        !           299:        outb    %al,$ IO_ICU2+1
        !           300:        NOP
        !           301:        inb     $0x84,%al
        !           302:        sti                             # enable interrupts
        !           303: 
        !           304:        DONET(NETISR_RAW,_rawintr)
        !           305: #ifdef INET
        !           306:        DONET(NETISR_IP,_ipintr)
        !           307: #endif
        !           308:        cli                             # disable interrupts
        !           309:        popl    _cpl                    # save old priority
        !           310:        movw    $0,%ax                  # set new priority level
        !           311:        movw    %ax,%dx
        !           312:        orw     _imen,%ax               # mask off those not enabled yet
        !           313:        movw    %ax,%cx
        !           314:        NOP
        !           315:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           316:        NOP
        !           317:        movb    %ah,%al
        !           318:        NOP
        !           319:        outb    %al,$ IO_ICU2+1
        !           320:        NOP
        !           321:        inb     $0x84,%al
        !           322:        movzwl  _cpl,%eax               # return old priority
        !           323:        movw    %dx,_cpl                # set new priority level
        !           324:        sti                             # enable interrupts
        !           325:        ret
        !           326: 
        !           327:        .globl _splx
        !           328: _splx:
        !           329:        cli                             # disable interrupts
        !           330:        movw    4(%esp),%ax             # new priority level
        !           331:        movw    %ax,%dx
        !           332:        cmpw    $0,%dx
        !           333:        je      _spl0                   # going to "zero level" is special
        !           334: 
        !           335:        orw     _imen,%ax               # mask off those not enabled yet
        !           336:        movw    %ax,%cx
        !           337:        NOP
        !           338:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           339:        NOP
        !           340:        movb    %ah,%al
        !           341:        NOP
        !           342:        outb    %al,$ IO_ICU2+1
        !           343:        NOP
        !           344:        inb     $0x84,%al
        !           345:        movzwl  _cpl,%eax               # return old priority
        !           346:        movw    %dx,_cpl                # set new priority level
        !           347:        sti                             # enable interrupts
        !           348:        ret
        !           349: 
        !           350: #ifdef notyet
        !           351:        .globl  _iml8                   # mask off all but irq0-1
        !           352: _iml8:
        !           353:        cli                             # disable interrupts
        !           354:        movw    $0xfffc,%ax             # set new priority level
        !           355:        movw    %ax,%dx
        !           356:        orw     _imen,%ax               # mask off those not enabled yet
        !           357:        movw    %ax,%cx
        !           358:        NOP
        !           359:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           360:        NOP
        !           361:        movb    %ah,%al
        !           362:        NOP
        !           363:        outb    %al,$ IO_ICU2+1
        !           364:        NOP
        !           365:        movzwl  _cpl,%eax               # return old priority
        !           366:        movw    %dx,_cpl                # set new priority level
        !           367:        sti                             # enable interrupts
        !           368:        ret
        !           369: 
        !           370:        .globl  _iml10                  # mask off all but irq0-1,8-9
        !           371: _iml10:
        !           372:        cli                             # disable interrupts
        !           373:        movw    $0xfcf8,%ax             # set new priority level
        !           374:        movw    %ax,%dx
        !           375:        orw     _imen,%ax               # mask off those not enabled yet
        !           376:        movw    %ax,%cx
        !           377:        NOP
        !           378:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           379:        NOP
        !           380:        movb    %ah,%al
        !           381:        NOP
        !           382:        outb    %al,$ IO_ICU2+1
        !           383:        NOP
        !           384:        movzwl  _cpl,%eax               # return old priority
        !           385:        movw    %dx,_cpl                # set new priority level
        !           386:        sti                             # enable interrupts
        !           387:        ret
        !           388: 
        !           389:        .globl  _iml11                  # mask off all but irq0-1,8-10
        !           390: _iml11:
        !           391:        cli                             # disable interrupts
        !           392:        movw    $0xf8f8,%ax             # set new priority level
        !           393:        movw    %ax,%dx
        !           394:        orw     _imen,%ax               # mask off those not enabled yet
        !           395:        movw    %ax,%cx
        !           396:        NOP
        !           397:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           398:        NOP
        !           399:        movb    %ah,%al
        !           400:        NOP
        !           401:        outb    %al,$ IO_ICU2+1
        !           402:        NOP
        !           403:        movzwl  _cpl,%eax               # return old priority
        !           404:        movw    %dx,_cpl                # set new priority level
        !           405:        sti                             # enable interrupts
        !           406:        ret
        !           407: 
        !           408:        .globl  _iml12                  # mask off all but irq0-1,8-11
        !           409: _iml12:
        !           410:        cli                             # disable interrupts
        !           411:        movw    $0xf0f8,%ax             # set new priority level
        !           412:        movw    %ax,%dx
        !           413:        orw     _imen,%ax               # mask off those not enabled yet
        !           414:        movw    %ax,%cx
        !           415:        NOP
        !           416:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           417:        NOP
        !           418:        movb    %ah,%al
        !           419:        NOP
        !           420:        outb    %al,$ IO_ICU2+1
        !           421:        NOP
        !           422:        movzwl  _cpl,%eax               # return old priority
        !           423:        movw    %dx,_cpl                # set new priority level
        !           424:        sti                             # enable interrupts
        !           425:        ret
        !           426: 
        !           427:        .globl  _iml13                  # mask off all but irq0-1,8-12
        !           428: _iml13:
        !           429:        cli                             # disable interrupts
        !           430:        movw    $0xe0f8,%ax             # set new priority level
        !           431:        movw    %ax,%dx
        !           432:        orw     _imen,%ax               # mask off those not enabled yet
        !           433:        movw    %ax,%cx
        !           434:        NOP
        !           435:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           436:        NOP
        !           437:        movb    %ah,%al
        !           438:        NOP
        !           439:        outb    %al,$ IO_ICU2+1
        !           440:        NOP
        !           441:        movzwl  _cpl,%eax               # return old priority
        !           442:        movw    %dx,_cpl                # set new priority level
        !           443:        sti                             # enable interrupts
        !           444:        ret
        !           445: 
        !           446:        .globl  _iml15                  # mask off all but irq0-1,8-14
        !           447: _iml15:
        !           448:        cli                             # disable interrupts
        !           449:        movw    $0x80f8,%ax             # set new priority level
        !           450:        movw    %ax,%dx
        !           451:        orw     _imen,%ax               # mask off those not enabled yet
        !           452:        movw    %ax,%cx
        !           453:        NOP
        !           454:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           455:        NOP
        !           456:        movb    %ah,%al
        !           457:        NOP
        !           458:        outb    %al,$ IO_ICU2+1
        !           459:        NOP
        !           460:        movzwl  _cpl,%eax               # return old priority
        !           461:        movw    %dx,_cpl                # set new priority level
        !           462:        sti                             # enable interrupts
        !           463:        ret
        !           464: 
        !           465:        .globl  _iml3                   # mask off all but irq0-1,8-15
        !           466: _iml3:
        !           467:        cli                             # disable interrupts
        !           468:        movw    $0x00f8,%ax             # set new priority level
        !           469:        movw    %ax,%dx
        !           470:        orw     _imen,%ax               # mask off those not enabled yet
        !           471:        movw    %ax,%cx
        !           472:        NOP
        !           473:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           474:        NOP
        !           475:        movb    %ah,%al
        !           476:        NOP
        !           477:        outb    %al,$ IO_ICU2+1
        !           478:        NOP
        !           479:        movzwl  _cpl,%eax               # return old priority
        !           480:        movw    %dx,_cpl                # set new priority level
        !           481:        sti                             # enable interrupts
        !           482:        ret
        !           483: 
        !           484:        .globl  _iml4                   # mask off all but irq0-1,8-15,3
        !           485: _iml4:
        !           486:        cli                             # disable interrupts
        !           487:        movw    $0x00f0,%ax             # set new priority level
        !           488:        movw    %ax,%dx
        !           489:        orw     _imen,%ax               # mask off those not enabled yet
        !           490:        movw    %ax,%cx
        !           491:        NOP
        !           492:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           493:        NOP
        !           494:        movb    %ah,%al
        !           495:        NOP
        !           496:        outb    %al,$ IO_ICU2+1
        !           497:        NOP
        !           498:        movzwl  _cpl,%eax               # return old priority
        !           499:        movw    %dx,_cpl                # set new priority level
        !           500:        sti                             # enable interrupts
        !           501:        ret
        !           502: 
        !           503:        .globl  _iml5                   # mask off all but irq0-1,8-15,3-4
        !           504: _iml5:
        !           505:        cli                             # disable interrupts
        !           506:        movw    $0x00e0,%ax             # set new priority level
        !           507:        movw    %ax,%dx
        !           508:        orw     _imen,%ax               # mask off those not enabled yet
        !           509:        movw    %ax,%cx
        !           510:        NOP
        !           511:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           512:        NOP
        !           513:        movb    %ah,%al
        !           514:        NOP
        !           515:        outb    %al,$ IO_ICU2+1
        !           516:        NOP
        !           517:        movzwl  _cpl,%eax               # return old priority
        !           518:        movw    %dx,_cpl                # set new priority level
        !           519:        sti                             # enable interrupts
        !           520:        ret
        !           521: 
        !           522:        .globl  _iml6                   # mask off all but irq0-1,8-15,3-5
        !           523: _iml6:
        !           524:        cli                             # disable interrupts
        !           525:        movw    $0x00c0,%ax             # set new priority level
        !           526:        movw    %ax,%dx
        !           527:        orw     _imen,%ax               # mask off those not enabled yet
        !           528:        movw    %ax,%cx
        !           529:        NOP
        !           530:        outb    %al,$ IO_ICU1+1         /* update icu's */
        !           531:        NOP
        !           532:        movb    %ah,%al
        !           533:        NOP
        !           534:        outb    %al,$ IO_ICU2+1
        !           535:        NOP
        !           536:        movzwl  _cpl,%eax               # return old priority
        !           537:        movw    %dx,_cpl                # set new priority level
        !           538:        sti                             # enable interrupts
        !           539:        ret
        !           540: 
        !           541: #endif notyet
        !           542: 
        !           543:        /* hardware interrupt catcher (IDT 32 - 47) */
        !           544:        .globl  _isa_strayintr
        !           545: 
        !           546: IDTVEC(intr0)
        !           547:        INTR(0, _highmask, 0) ; call    _isa_strayintr ; INTREXIT1
        !           548: 
        !           549: IDTVEC(intr1)
        !           550:        INTR(1, _highmask, 1) ; call    _isa_strayintr ; INTREXIT1
        !           551: 
        !           552: IDTVEC(intr2)
        !           553:        INTR(2, _highmask, 2) ; call    _isa_strayintr ; INTREXIT1
        !           554: 
        !           555: IDTVEC(intr3)
        !           556:        INTR(3, _highmask, 3) ; call    _isa_strayintr ; INTREXIT1
        !           557: 
        !           558: IDTVEC(intr4)
        !           559:        INTR(4, _highmask, 4) ; call    _isa_strayintr ; INTREXIT1
        !           560: 
        !           561: IDTVEC(intr5)
        !           562:        INTR(5, _highmask, 5) ; call    _isa_strayintr ; INTREXIT1
        !           563: 
        !           564: IDTVEC(intr6)
        !           565:        INTR(6, _highmask, 6) ; call    _isa_strayintr ; INTREXIT1
        !           566: 
        !           567: IDTVEC(intr7)
        !           568:        INTR(7, _highmask, 7) ; call    _isa_strayintr ; INTREXIT1
        !           569: 
        !           570: 
        !           571: IDTVEC(intr8)
        !           572:        INTR(8, _highmask, 8) ; call    _isa_strayintr ; INTREXIT2
        !           573: 
        !           574: IDTVEC(intr9)
        !           575:        INTR(9, _highmask, 9) ; call    _isa_strayintr ; INTREXIT2
        !           576: 
        !           577: IDTVEC(intr10)
        !           578:        INTR(10, _highmask, 10) ; call  _isa_strayintr ; INTREXIT2
        !           579: 
        !           580: IDTVEC(intr11)
        !           581:        INTR(11, _highmask, 11) ; call  _isa_strayintr ; INTREXIT2
        !           582: 
        !           583: IDTVEC(intr12)
        !           584:        INTR(12, _highmask, 12) ; call  _isa_strayintr ; INTREXIT2
        !           585: 
        !           586: IDTVEC(intr13)
        !           587:        INTR(13, _highmask, 13) ; call  _isa_strayintr ; INTREXIT2
        !           588: 
        !           589: IDTVEC(intr14)
        !           590:        INTR(14, _highmask, 14) ; call  _isa_strayintr ; INTREXIT2
        !           591: 
        !           592: IDTVEC(intr15)
        !           593:        INTR(15, _highmask, 15) ; call  _isa_strayintr ; INTREXIT2
        !           594: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.