xref: /csrg-svn/sys/vax/stand/srt0.c (revision 9186)
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