xref: /csrg-svn/sys/vax/stand/srt0.c (revision 2438)
1*2438Swnj /*	srt0.c	4.4	02/15/81	*/
2326Sbill 
31914Swnj /*
41914Swnj  * Startup code for standalone system
51914Swnj  * Non-relocating version -- for programs which are loaded by boot
61914Swnj  */
7326Sbill 
81757Sbill 	.globl	_edata
9326Sbill 	.globl	_main
10326Sbill 	.globl	__rtt
11326Sbill 
121914Swnj #if VAX==780
13326Sbill 	.set	PHYSUBA,0x20006000	# uba 0
141914Swnj #endif
15326Sbill 
16326Sbill 	.set	HIGH,31		# mask for total disable
17326Sbill 
18*2438Swnj entry:	.globl	entry
19326Sbill 	.word	0x0
20326Sbill 	mtpr	$HIGH,$IPL		# just in case
21*2438Swnj 	mtpr	$_Scbbase,$SCBB
22*2438Swnj 	movl	$RELOC-0x2400,sp
23*2438Swnj 	mtpr	$RELOC-0x2000,$ISP	/* space for interrupts
24*2438Swnj 					/* (in case we are not using that
25*2438Swnj 					/* stack already)
26*2438Swnj 					*/
271914Swnj #if VAX==780
28326Sbill 	movl	$1,PHYSUBA+4		# init
291757Sbill ubic:
301757Sbill 	movl	*$PHYSUBA,r0		# while ((up->uba_cnfgr & UBIC) == 0)
311757Sbill 	bitl	$0x10000,r0		# 	continue;
321795Sbill 	jeql	ubic
331914Swnj #endif
34*2438Swnj start:
351757Sbill 	movab	_edata,r0
36411Sbill clr:
37411Sbill 	clrl	(r0)+
38411Sbill 	cmpl	r0,sp
39411Sbill 	jlss	clr
40326Sbill 	calls	$0,_main
41326Sbill 	jmp	start
42326Sbill 
43326Sbill __rtt:
44326Sbill 	.word	0x0
45326Sbill 	jmp	start
46