|
|
1.1 ! root 1: /* srt0.c 6.1 83/07/29 */ ! 2: ! 3: #include "../vax/mtpr.h" ! 4: #define LOCORE ! 5: #include "../vax/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 aedata,*$0,(sp) ! 38: /* ! 39: * Reclear bss segment separately from text and data ! 40: * since movc3 can't move more than 64K bytes ! 41: */ ! 42: dclr: ! 43: clrl (r3)+ ! 44: cmpl r3,$_end ! 45: jlss dclr ! 46: /* this loop shouldn't be necessary, but is when booting from an ra81 */ ! 47: xclr: ! 48: clrl (r3)+ ! 49: cmpl r3,$0x100000 ! 50: jlss xclr ! 51: jmp *abegin ! 52: begin: ! 53: #endif ! 54: mtpr $0,$SCBB ! 55: calls $0,_configure ! 56: movl $1,_openfirst ! 57: calls $0,_main ! 58: #ifndef TP ! 59: jmp start ! 60: #else ! 61: ret ! 62: #endif ! 63: ! 64: .data ! 65: #ifdef REL ! 66: abegin: .long begin ! 67: aedata: .long _edata-RELOC ! 68: #else ! 69: aedata: .long _edata ! 70: #endif ! 71: ! 72: __rtt: ! 73: .word 0x0 ! 74: jmp start ! 75: ! 76: .globl _badloc ! 77: _badloc: ! 78: .word 0 ! 79: movl $1,r0 ! 80: movl 4(ap),r3 ! 81: movl $4,r2 ! 82: movab 9f,(r2) ! 83: tstl (r3) ! 84: 1: clrl r0 # made it w/o machine checks ! 85: 2: movl $4,r2 ! 86: clrl (r2) ! 87: ret ! 88: .align 2 ! 89: 9: ! 90: casel _cpu,$1,$VAX_MAX ! 91: 0: ! 92: .word 8f-0b # 1 is 780 ! 93: .word 5f-0b # 2 is 750 ! 94: .word 5f-0b # 3 is 730 ! 95: 5: ! 96: mtpr $0xf,$MCESR ! 97: brb 1f ! 98: 8: ! 99: mtpr $0,$SBIFS ! 100: 1: ! 101: addl2 (sp)+,sp # discard mchchk trash ! 102: movab 2b,(sp) ! 103: rei
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.