Annotation of 41BSD/4.0.upgrade/sys/stand/srt0.c, revision 1.1.1.1

1.1       root        1: /*     srt0.c  4.8     81/04/03        */
                      2: 
                      3: #include "../h/mtpr.h"
                      4: #define        LOCORE
                      5: #include "../h/cpu.h"
                      6: 
                      7: /*
                      8:  * Startup code for standalone system
                      9:  * Non-relocating version -- for programs which are loaded by boot
                     10:  */
                     11: 
                     12:        .globl  _end
                     13:        .globl  _edata
                     14:        .globl  _main
                     15:        .globl  __rtt
                     16:        .globl  _configure
                     17:        .globl  _cpu
                     18:        .globl  _openfirst
                     19: 
                     20:        .set    HIGH,31         # mask for total disable
                     21: 
                     22: entry: .globl  entry
                     23:        .word   0x0
                     24:        mtpr    $HIGH,$IPL              # just in case
                     25: #ifdef REL
                     26:        movl    $RELOC,sp
                     27: #else
                     28:        movl    $RELOC-0x2400,sp
                     29: #endif
                     30: start:
                     31:        movl    aedata,r0
                     32: clr:
                     33:        clrl    (r0)+
                     34:        cmpl    r0,sp
                     35:        jlss    clr
                     36: #ifdef REL
                     37:        movc3   aend,*$0,(sp)
                     38:        jmp     *abegin
                     39: begin:
                     40: #endif
                     41:        mtpr    $0,$SCBB
                     42:        calls   $0,_configure
                     43:        movl    $1,_openfirst
                     44:        calls   $0,_main
                     45: #ifndef TP
                     46:        jmp     start
                     47: #else
                     48:        ret
                     49: #endif
                     50: 
                     51:        .data
                     52: #ifdef REL
                     53: abegin:        .long   begin
                     54: aend:  .long   _end-RELOC
                     55: aedata:        .long   _edata-RELOC
                     56: #else
                     57: aedata:        .long   _edata
                     58: #endif
                     59: 
                     60: __rtt:
                     61:        .word   0x0
                     62:        jmp     start
                     63: 
                     64:        .globl  _badloc
                     65: _badloc:
                     66:        .word   0
                     67:        movl    $1,r0
                     68:        movl    4(ap),r3
                     69:        movl    $4,r2
                     70:        movab   9f,(r2)
                     71:        tstl    (r3)
                     72: 1:     clrl    r0                      # made it w/o machine checks
                     73: 2:     movl    $4,r2
                     74:        clrl    (r2)
                     75:        ret
                     76:        .align  2
                     77: 9:
                     78:        casel   _cpu,$1,$VAX_MAX
                     79: 0:
                     80:        .word   8f-0b           # 1 is 780
                     81:        .word   5f-0b           # 2 is 750
                     82:        .word   5f-0b           # 3 is 7ZZ
                     83: 5:
                     84:        mtpr    $0xf,$MCESR
                     85:        brb     1f
                     86: 8:
                     87:        mtpr    $0,$SBIFS
                     88: 1:
                     89:        addl2   (sp)+,sp                # discard mchchk trash
                     90:        movab   2b,(sp)
                     91:        rei

unix.superglobalmegacorp.com

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