Annotation of coherent/d/etc/ATrebootas.s, revision 1.1.1.1

1.1       root        1: /
                      2: /      The  information  contained herein  is a trade secret  of INETCO
                      3: /      Systems, and is confidential information.   It is provided under
                      4: /      a license agreement,  and may be copied or disclosed  only under
                      5: /      the terms of that agreement.   Any reproduction or disclosure of
                      6: /      this  material  without  the express  written  authorization  of
                      7: /      INETCO Systems or persuant to the license agreement is unlawful.
                      8: /
                      9: /      Copyright (c) 1987
                     10: /      An unpublished work by INETCO Systems, Ltd.
                     11: /      All rights reserved.
                     12: /
                     13: 
                     14: ////////
                     15: /
                     16: / iAPX-286 Processor Reboot function
                     17: /
                     18: ////////
                     19: 
                     20: KBDATA =       0x60                    / 8042 keyboard mpu data I/O port.
                     21: KBCTRL =       0x64                    / 8042 keyboard mpu ctrl I/O port.
                     22: 
                     23:        .globl  reboot_
                     24: reboot_:
                     25:        cli                             / Disable interrupts.
                     26:                                        /
                     27: 0:     sub     cx, cx                  /
                     28:        inb     al, KBCTRL              / Wait for 8042 input buffer to empty.
                     29:        testb   al, $2                  /
                     30:        loopne  0b                      /
                     31:        jmp     .+2             / DELAY /
                     32:                                        /
                     33:        movb    al, $0xD1               / Request next output byte to be
                     34:        outb    KBCTRL, al              /       sent to the 8042 output port.
                     35:                                        /
                     36:        sub     cx, cx                  /
                     37: 0:     inb     al, KBCTRL              / Wait for 8042 input buffer to empty.
                     38:        testb   al, $2                  /
                     39:        loopne  0b                      /
                     40:        jmp     .+2             / DELAY /
                     41:                                        /
                     42:        movb    al, $0xDF               / Enable A20 address line.
                     43:        outb    KBDATA, al              / See Page 1-44, IBM-AT Tech Ref.
                     44:                                        /
                     45:        sub     cx, cx                  /
                     46: 0:     inb     al, KBCTRL              / Wait for 8042 input buffer to empty.
                     47:        testb   al, $2                  /
                     48:        loopne  0b                      /
                     49:        jmp     .+2             / DELAY /
                     50:        jmp     .+2             / DELAY /
                     51:                                        /
                     52:        movb    al, $0xFE               / Issue a shutdown command
                     53:        outb    KBCTRL, al              / to the 8042 control port.
                     54:                                        /
                     55: 0:     hlt                             / Halt until processor reset occurs.
                     56:        jmp     0b

unix.superglobalmegacorp.com

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