|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.