1*9186Ssam /* srt0.c 4.10 82/11/13 */ 2326Sbill 3*9186Ssam #include "../vax/mtpr.h" 43349Swnj #define LOCORE 5*9186Ssam #include "../vax/cpu.h" 63263Swnj 71914Swnj /* 81914Swnj * Startup code for standalone system 91914Swnj * Non-relocating version -- for programs which are loaded by boot 101914Swnj */ 11326Sbill 123349Swnj .globl _end 131757Sbill .globl _edata 14326Sbill .globl _main 15326Sbill .globl __rtt 163263Swnj .globl _configure 173349Swnj .globl _cpu 183349Swnj .globl _openfirst 19326Sbill 20326Sbill .set HIGH,31 # mask for total disable 21326Sbill 222438Swnj entry: .globl entry 23326Sbill .word 0x0 24326Sbill mtpr $HIGH,$IPL # just in case 253349Swnj #ifdef REL 263349Swnj movl $RELOC,sp 273349Swnj #else 283349Swnj movl $RELOC-0x2400,sp 293349Swnj #endif 302438Swnj start: 313349Swnj movl aedata,r0 32411Sbill clr: 33411Sbill clrl (r0)+ 34411Sbill cmpl r0,sp 35411Sbill jlss clr 363349Swnj #ifdef REL 373349Swnj movc3 aend,*$0,(sp) 383349Swnj jmp *abegin 393349Swnj begin: 403349Swnj #endif 413349Swnj mtpr $0,$SCBB 423263Swnj calls $0,_configure 433349Swnj movl $1,_openfirst 44326Sbill calls $0,_main 453349Swnj #ifndef TP 46326Sbill jmp start 473349Swnj #else 483349Swnj ret 493349Swnj #endif 50326Sbill 513349Swnj .data 523349Swnj #ifdef REL 533349Swnj abegin: .long begin 543349Swnj aend: .long _end-RELOC 553349Swnj aedata: .long _edata-RELOC 563349Swnj #else 573349Swnj aedata: .long _edata 583349Swnj #endif 593349Swnj 60326Sbill __rtt: 61326Sbill .word 0x0 62326Sbill jmp start 633349Swnj 643349Swnj .globl _badloc 653349Swnj _badloc: 663349Swnj .word 0 673349Swnj movl $1,r0 683349Swnj movl 4(ap),r3 693349Swnj movl $4,r2 703349Swnj movab 9f,(r2) 713349Swnj tstl (r3) 723349Swnj 1: clrl r0 # made it w/o machine checks 733349Swnj 2: movl $4,r2 743349Swnj clrl (r2) 753349Swnj ret 763349Swnj .align 2 773349Swnj 9: 783349Swnj casel _cpu,$1,$VAX_MAX 793349Swnj 0: 803349Swnj .word 8f-0b # 1 is 780 813349Swnj .word 5f-0b # 2 is 750 827446Sroot .word 5f-0b # 3 is 730 833349Swnj 5: 843349Swnj mtpr $0xf,$MCESR 853349Swnj brb 1f 863349Swnj 8: 873349Swnj mtpr $0,$SBIFS 883349Swnj 1: 893349Swnj addl2 (sp)+,sp # discard mchchk trash 903349Swnj movab 2b,(sp) 913349Swnj rei 92