File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / d / pits / t6788.s
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:24:19 2019 UTC (7 years ago) by root
Branches: bsd, MAIN
CVS tags: v12b, v121, HEAD
Power 6/32 Unix version 1.2b

# 1 "temp$.s"


















# 1 "./conf.h"
























# 19 "temp$.s"


# 1 "./prvreg.h"







	.globl	SBR
	.set	SBR,0			

	.globl	SLR
	.set	SLR,1			

	.set	P0BR,2			
	.set	P0LR,3			
	.set	P1BR,4			
	.set	P1LR,5			
	.set	P2BR,6			
	.set	P2LR,7			
	.set	IPL,8			
	.set	MME,9			
	.globl	TBIA
	.set	TBIA,10			
					
	.set	TBIS,11			
					
	.set	DCK,12			
	.set	CCK,13			
	.set	PCBB,14			
	.set	ISP,15			
	.set	SIRR,16			
	.set	SISR,17			
	.set	SCBB,18			
	.set	KSP,19			
	.set	USP,20			
	.set	P1CC,21			
					
	.globl	DCB
	.set 	DCB,22
	.set	PACC,23			
					
	.set	P1DC,24			
	.globl	PADC
	.set	PADC,25			
					
	.set	HISR,26			
	.globl	DCR
	.set	DCR,27			
# 21 "temp$.s"
	


# 1 "./psl.h"

























# 24 "temp$.s"



# 1 "./pte.h"





























# 27 "temp$.s"
	


# 1 "./pcboffset.h"




	
	.set	PCB_KSP,	0
	.set	PCB_USP,	4
	.set	PCB_R0,		8
	.set	PCB_R1,		12
	.set	PCB_R2,		16
	.set	PCB_R3,		20
	.set	PCB_R4,		24
	.set	PCB_R5,		28
	.set	PCB_R6,		32
	.set	PCB_R7,		36
	.set	PCB_R8,		40
	.set	PCB_R9,		44
	.set	PCB_R10,	48
	.set	PCB_R11,	52
	.set	PCB_R12,	56
	.set	PCB_R13,	60
	.set	PCB_PC,		64
	.set	PCB_PSL,	68
	.set	PCB_P0BR,	72
	.set	PCB_P0LR,	76
	.set	PCB_P1BR,	80
	.set	PCB_P1LR,	84
	.set	PCB_P2BR,	88
	.set	PCB_P2LR,	92



	.set	PCB_STAT,	96	


# 30 "temp$.s"



# 1 "./const.h"


















































# 33 "temp$.s"



# 1 "./scboffset.h"




	.set	PFVEC,4			
	.set	CLOCK,7			
	.set	CLOCKVEC,28		
	.set	CRVEC,40		
	.set	CXVEC,44		
	.set	SIVEC1,120		
					
						
	.set	BUSER,32
	.set	BEVEC,128			
	.set	SYSVEC,172		
	.set	PINSTVEC,176		
	.set	ROVEC,180		
	.set	RAVEC,184		
	.set	PROTVEC,188		
	.set	TRANSVEC,192		
	.set	KSPVEC,196		
	.set	TRACEVEC,200		
	.set	BPTVEC,204		
	.set	ARITHVEC,208		
	.set	ALIGNVEC,212			
	.set	IO14VEC,256		
	.set	IO15VEC,320		
	.set	IO16VEC,384		
	.set	IO17VEC,448		

# 36 "temp$.s"


# 1 "./sptoffset.h"








	.set	SCBPTE,8		
	.set	BUFPTE,12		
	.set	ISPTE,16		
	.set	IS1PTE,20		
	.set	SPTPTE,20		
	.set	SPT1PTE,20		
	.set	IOMAPPTE,24		
	.set	PCBPTE,28		
	.set	U0P0PTE,32		
	.set	U0P1PTE,36		
	.set	U0P2PTE,40		
	.set	U1P0PTE,44
	.set	U1P1PTE,48
	.set	U1P2PTE,52
	.set	U2P0PTE,56
	.set	U2P1PTE,60
	.set	U2P2PTE,64
	.set	U3P0PTE,68
	.set	U3P1PTE,72
	.set	U3P2PTE,76
	.set	U4P0PTE,80
	.set	U4P1PTE,84
	.set	U4P2PTE,88
	.set	U5P0PTE,92
	.set	U5P1PTE,96
	.set	U5P2PTE,100
	.set	U6P0PTE,104
	.set	U6P1PTE,108
	.set	U6P2PTE,112
	.set	U7P0PTE,116		
	.set	U7P1PTE,120		
	.set	U7P2PTE,124		
	.set	IOB0PTE,128		
	.set	IOB1PTE,132
	.set	IOB2PTE,136
	.set	IOB3PTE,140
	.set	IOB4PTE,144
	.set	IOB5PTE,148
	.set	IOB6PTE,152
	.set	IOB7PTE,156		


# 38 "temp$.s"



# 1 "./trap.h"
















# 41 "temp$.s"





	.set	HIGH,0x1f	
	.set	MCKVEC,4	
	.set	NISP,2		
	.set	DONE,255	

	.text


# 1 "./pstorage.s"




















_pstore:
	.globl	_pstore
	.space		1024			

_pstore1:				
	.globl	_pstore1		

_pcbb:	.space	4			
_isp:	.space	4			
_sirr:	.space	4			
_sisr:	.space	4			
	
	.space	4			
	.space	4
	.space	4

_cpmdcb: .space	4			
_cpfdcb: .space	4
_cpcdcb: .space	4
_cpidcb: .space	4
_cpstat: .space	4
_cpctl:  .space	4

_hisr:	.space	4			
_dcr:	.space	4			

	.space	4*48			

_pstemp:
	.globl	_pstemp			
					
_tr0:	.space	16			
					
_tpc:	.space	4			
_tpsl:	.space	4			
_tsp:	.space	4			
_tksp:	.space	4			
_tusp:	.space	4			
_tcck:	.space	4			
_tdck:	.space	4			
_ttbk:	.space	4			
_tsbr:	.space	4			
_tslr:	.space	4			
_tp0br:	.space	4			
_tp0lr:	.space	4			
_tp1br:	.space	4			
_tp1lr:	.space	4			
_tp2br:	.space	4			
_tp2lr:	.space	4			
_tipl:	.space	4			
_tmme:	.space	4			
_ttbia:	.space	4			
_ttbis:	.space	4			
					
					
_tpcbb:	.space	4			
_tisp:	.space	4			
_tsirr:	.space	4			
_tsisr:	.space	4			
_tscbb:	.space	4			
_tp1cc:	.space	4			
					
_tpacc:	.space	4			
					
_tp1dc:	.space	4			
_tpadc:	.space	4			
_tcpmdcb:
	.space	4			
_tcpfdcb:
	.space	4
_tcpcdcb:
	.space	4
_tcpidcb:
	.space	4
_tcpstat:
	.space	4
_tcpctl:
	.space	4

_probflag:
	.space	4			
_inexcflg:
	.space	4			

	.space	4*10			
_psend:	.globl	_psend			
	.set    MM,(_psend - _pstore1)
	.space  1024 - MM

# 54 "temp$.s"

	.globl	_Entry
_Entry:
	jmp	start
	.space	(1024-6)






				
				

	.set	NLWU,32		
				
				
				
	.globl	_restart
_restart:
	.space	4		
				
				
					

	.globl	_cyconf		
_cyconf:			
	.space	4
	.space	4


	.globl	_lastadd
_lastadd:
	.space	4		

	.globl	_unused
_unused:
	.space	4		

	.globl	_ctlblk
_ctlblk:
	.long	0		

	.globl	_savvec0	
_savvec0:
	.space	4

	.globl	_savvec1	
_savvec1:
	.space	4

	.globl	_savvec2	
_savvec2:
	.space	4

	.globl	_savvec3	
_savvec3:
	.space	4

	.globl	_savvec4	
_savvec4:
	.space	4

	.globl	_savvec5	
_savvec5:
	.space	4
	.globl	_savvec6	
_savvec6:
	.space	4
	.globl	_savvec7	
_savvec7:
	.space	4

	.globl	_savvec8	
_savvec8:
	.space	4

testno: .long	0

	.globl	_dbuf		
	.globl	_r_no
_r_no:
	.long	0
	.globl	_pt_base
_pt_base:
	.long	0
	.globl	_saved_psl
_saved_psl:
	.long   0
	.globl	_saved_sp
_saved_sp:
	.long	0
	.globl	_saved_fp
_saved_fp:
	.long	0
	.globl	_p_ptr
_p_ptr:
	.long   0
	.globl	_ret_adr
_ret_adr:
	.long	0
	.globl	_exp_par0
_exp_par0:
	.long	0
	.globl	_exp_par1
_exp_par1:
	.long	0
	.globl	_exp_par2
_exp_par2:
	.long	0
	.globl	_exp_par3
_exp_par3:
	.long	0
	.globl	_act_par0
_act_par0:
	.long	0
	.globl	_act_par1
_act_par1:
	.long	0

	.globl	_IOpage
_IOpage:
	.long	0		



	.globl	_proc_no
_proc_no:
	.long	0

	.globl	_clk_cnt
_clk_cnt:
	.long	0
_dbuf:
	.space		1024 - (NLWU *4)
edbuf:


	.globl	_intstack	
_intstack:			
	.space	NISP*	1024
eintstack:


	.set	SYSPTSIZE,512	
 


 
	.align	2
	.globl	_Sysmap
_Sysmap:
	.space	SYSPTSIZE*4 	
eSysmap:
	.globl	_Syssize
	.set	_Syssize,(eSysmap-_Sysmap)/4	
	
	.globl	_iomap		
_iomap:	.space	1024		
	.globl	_eiomap
_eiomap:

	.globl	_pcb0		
_pcb0:	.space	128		
	.globl	_pcb1
_pcb1:	.space 128		
	.globl	_pcb2
_pcb2:	.space 128		
	.globl	_pcb3
_pcb3:	.space 128		
	.globl	_pcb4
_pcb4:	.space 128		
	.globl	_pcb5
_pcb5:	.space 128		
	.globl	_pcb6
_pcb6:	.space 128		
	.globl	_pcb7
_pcb7:	.space 128		





	.align	2
	.globl	_u0p0pt
_u0p0pt:
	.space	1024		
	.globl	_u0p1pt
_u0p1pt:	
	.space	1024		
	.globl	_u0p2pt
_u0p2pt:	
	.space	1020		
eu0p2pt:
	.space	4





	.align	2
	.globl	_u1p0pt
_u1p0pt:
	.space	1024		
	.globl	_u1p1pt
_u1p1pt:	
	.space	1024		
	.globl	_u1p2pt
_u1p2pt:	
	.space	1020		
eu1p2pt:
	.space	4






	.align	2
	.globl	_u2p0pt
_u2p0pt:
	.space	1024		
	.globl	_u2p1pt
_u2p1pt:	
	.space	1024		
	.globl	_u2p2pt
_u2p2pt:	
	.space	1020		
eu2p2pt:
	.space	4






	.align	2
	.globl	_u3p0pt
_u3p0pt:
	.space	1024		
	.globl	_u3p1pt
_u3p1pt:	
	.space	1024		
	.globl	_u3p2pt
_u3p2pt:	
	.space	1020		
eu3p2pt:
	.space	4





	.globl	_u4p0pt
_u4p0pt:
	.space	(9*	1024) - 4
eu6p2pt:
	.space	4





	.align	2
	.globl	_u7p0pt
_u7p0pt:
	.space	1024		
	.globl	_u7p1pt
_u7p1pt:	
	.space	1024		
	.globl	_u7p2pt
_u7p2pt:	
	.space	1020		
eu7p2pt:
	.space	4

	.globl	_Ksp0		
_Ksp0:	.space	1020
_Eksp0:	.long	0

	.globl	_Ksp1		
_Ksp1:	.space	1020
_Eksp1:	.long	0

	.globl	_Ksp2		
_Ksp2:	.space	1020
_Eksp2:	.long	0

	.globl	_Ksp3		
_Ksp3:	.space	1020
_Eksp3:	.long	0

	.globl	_Ksp4		
_Ksp4:	.space	1020
_Eksp4:	.long	0

	.globl	_Ksp5		
_Ksp5:	.space	1020
_Eksp5:	.long	0

	.globl	_Ksp6		
_Ksp6:	.space	1020
_Eksp6:	.long	0

 #	I/O buffers

	.globl	_iob0
_iob0:	.space	1024
	.globl	_iob1
_iob1:	.space	1024
	.globl	_iob2
_iob2:	.space	1024
	.globl	_iob3
_iob3:	.space	1024
	.globl	_iob4
_iob4:	.space	1024
	.globl	_iob5
_iob5:	.space	1024

esysdata:


# 1 "./scblock.s"







	.align	2
_scb:	.globl	_scb







	.long	_Xunknown;			.long	_Xpowerfail;	
	.long	_Xunknown;		.long	_Xunknown;
	.long	_Xunknown;		.long	_Xunknown;		
	.long	_Xunknown;			.long	_Xhardclock;
	.long	_Xunknown;		.long	_Xunknown;		
		.long	_Xcnrint;		.long	_Xcnxint;
	.long	_Xunknown;		.long	_Xunknown;		
	.long	_Xunknown;		.long	_Xunknown;
		.long	_Xs15;		.long	_Xs14;	
		.long	_Xs13;		.long	_Xs12;
		.long	_Xs11;		.long	_Xs10;	
		.long	_Xs9;		.long	_Xs8;
		.long	_Xs7;		.long	_Xs6;	
		.long	_Xs5;		.long	_Xs4;
		.long	_Xs3;		.long	_Xs2;	
		.long	_Xs1;	.long	_Xunknown;
		.long	_Xbuserror;	.long	_Xunknown;		
	.long	_Xunknown;		.long	_Xunknown;
	.long	_Xunknown;		.long	_Xunknown;		
	.long	_Xunknown;		.long	_Xunknown;
	.long	_Xunknown;		.long	_Xunknown;		
	.long	_Xunknown;			.long	_Xkcall;
		.long	_Xprvinflt;		.long	_Xresopflt;	
		.long	_Xresadflt;		.long	_Xprotflt;
		.long	_Xtransflt;		.long	_Xkspnotval;	
		.long	_Xtracep;		.long	_Xbptflt;
		.long	_Xarithtrap;		.long	_Xalignflt;	
	.long	_Xunknown;		.long	_Xunknown;
	.long	_Xunknown;		.long	_Xunknown;		
	.long	_Xunknown;		.long	_Xunknown;
	.long	_Xunknown;		.long	_Xunknown;		
	.long	_Xunknown;		.long	_Xunknown;
		.long	_Xiovec14;	.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;	
		.long	_Xiovec15; 	.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;	
		.long	_Xiovec16; 	.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;	
		.long	_Xiovec17; 	.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;	

	.space	512		


# 376 "temp$.s"







# 1 "./evthandlers.s"


 
























	.align 2  		     	.globl _Xunknown 			_Xunknown:
	halt












	.align 2  		     	.globl _Xpowerfail 			_Xpowerfail:

		

	halt







	.align 2  		     	.globl _Xhardclock 			_Xhardclock:
	halt




	.align 2  		     	.globl _Xcnrint 			_Xcnrint:
	rei




	.align 2  		     	.globl _Xcnxint 			_Xcnxint:
	rei		
	halt




	.align 2  		     	.globl _Xs15 			_Xs15:
	halt




	.align 2  		     	.globl _Xs14 			_Xs14:
	halt




	.align 2  		     	.globl _Xs13 			_Xs13:
	halt




	.align 2  		     	.globl _Xs12 			_Xs12:
	halt




	.align 2  		     	.globl _Xs11 			_Xs11:
	halt




	.align 2  		     	.globl _Xs10 			_Xs10:
	halt




	.align 2  		     	.globl _Xs9 			_Xs9:
	halt




	.align 2  		     	.globl _Xs8 			_Xs8:
	halt




	.align 2  		     	.globl _Xs7 			_Xs7:
	halt




	.align 2  		     	.globl _Xs6 			_Xs6:
	halt




	.align 2  		     	.globl _Xs5 			_Xs5:
	halt




	.align 2  		     	.globl _Xs4 			_Xs4:
	halt




	.align 2  		     	.globl _Xs3 			_Xs3:
	halt




	.align 2  		     	.globl _Xs2 			_Xs2:
	halt




	.align 2  		     	.globl _Xs1 			_Xs1:
	halt





	.align 2  		     	.globl _Xiovec14 			_Xiovec14:
	halt
	.align 2  		     	.globl _Xiovec15 			_Xiovec15:
	halt
	.align 2  		     	.globl _Xiovec16 			_Xiovec16:
	halt
	.align 2  		     	.globl _Xiovec17 			_Xiovec17:
	halt


















	.align 2  		     	.globl _Xbuserror 			_Xbuserror:
	halt











	.align 2  		     	.globl _Xkspnotval 			_Xkspnotval:
	halt


 


	.align 2  		     	.globl _Xprvinflt 			_Xprvinflt:
	halt
	.align 2  		     	.globl _Xresopflt 			_Xresopflt:
	halt
	.align 2  		     	.globl _Xresadflt 			_Xresadflt:
	halt
	.align 2  		     	.globl _Xbptflt 			_Xbptflt:
	halt
	.align 2  		     	.globl _Xtracep 			_Xtracep:
	halt
	.align 2  		     	.globl _Xarithtrap 			_Xarithtrap:
	halt
	.align 2  		     	.globl _Xprotflt 			_Xprotflt:		
	halt
	.align 2  		     	.globl _Xtransflt 			_Xtransflt:
	halt
	.align 2  		     	.globl _Xalignflt 			_Xalignflt:
	halt

alltraps:
	halt













	.align 2  		     	.globl _Xkcall 			_Xkcall:			
	halt
















# 383 "temp$.s"















	.globl	start
start:
	mtpr	$0,$MME		
	movl	r0,tst_mask	
	movab	_scb,r0
	andl2	$0x3ffffc00,r0
	mtpr	r0,$SCBB	
	mtpr	$0x1f,$IPL	

	movpsl	r1
	andl2	$0x001f0000,r1		
	cmpl	r1,$0x001f0000		
	beql	1f
2:	movl	$1,r0
	movl	$0x041f0000,r2
	halt			
1:
	movl	$_intstack+NISP*	1024,r0
	andl2	$0x3fffffff,r0		
	mtpr	r0,$ISP			
	movl	r0,sp			
	movab	(sp),fp			

 # 	Clear system data area all the way upto system code
 # 	this includes dump buffer,interrupt stack,spt,iomap,pcbs,user 
 # 	page tables, & io buffer area.

3:	
	movab	esysdata,r7
	movab	_restart,r6
1:	clrl	(r6)
	 addl2	$4,r6;cmpl	r6,r7;bleq	1b;

 # 	Initialize System Page Table

5:
	clrl	r2
	movab	_Ksp6,r1	
	andl2	$0x3fffffff,r1	
	shar	$	10		,r1,r1	
1:
	movl	r2,r11			
	orl2	$	0x80000000|	0x60000000,r11
	orl2	r11,_Sysmap[r2]
	aobleq	r1,r2,1b

	movab	esysdata,r1	
	andl2	$0x3fffffff,r1	
	shar	$	10		,r1,r1	
1:
	movl	r2,r11			
	orl2	$	0x80000000|	0x60000000|	0x01000000,r11	
	orl2	r11,_Sysmap[r2]
	aoblss	r1,r2,1b

 #  	Map system text area 1 to 1, Kernel read/write.
 #	For this to work, the label _etext must exist at the end 
 #	of system code; Add in 4 more pages for data area used in C

	movab	_end + (	1024-1),r1	
	andl3	$0x3ffffc00,r1,_IOpage
	addl2	$64*(1024),r1
	andl2	$0x3fffffff,r1
	shar	$	10		,r1,r1
1:
	movl	r2,r11
	orl2	$	0x80000000|	0x60000000|	0x01000000,r11	
	orl2	r11,_Sysmap[r2]
	aoblss	r1,r2,1b

 # 	Map from here (1st unused page) to page 512 :
 # 	   * invalid,no access, & virtual = physical

	movl	r2,_unused	
	movl	$511		+1,r1
1:	movl	r2,_Sysmap[r2]
	aoblss	r1,r2,1b

sysrdy:
	movab	_Sysmap,r0
	mtpr	r0,$	0      		
	mtpr	$_Syssize,$SLR
	orl2	$0xc0000000,r0
	mtpr	r0,$P0BR		
	mtpr	$_Syssize,$P0LR

	movl	$CLOCK,r0
	movab	_Xclock,_scb[r0]	

	movl	$BUSER,r0
	movab	_Buser,_scb[r0]		

	clrl	_bturn
	clrl	_bell
	clrl	_btime
	mtpr	$1,$IPL			
_bmore:
	cmpl	_btime,$0x5
	jeql	1f
	jmp	_bmore
1:	incl	_bell			

	.globl	_ready
_ready:
	clrl	_proc_no
	mtpr	$1,$PACC
	mtpr	$1,$PADC
	mtpr	$1,$TBIA
	mtpr	$1,$CCK			
	mtpr	$1,$DCK			
	mtpr	$1,$MME			
	jmp	*$1f
1:
	movab	_pcb0,r0
	movab	_Eksp0,(r0)		
	mfpr	$P0BR,PCB_P0BR(r0)	
	mfpr	$P0LR,PCB_P0LR(r0)	
	mtpr	r0,$PCBB		
	ldpctx				
	mtpr 	$1,$IPL			
	movl	(sp)+,r12		
	movl	(sp)+,r11

 #	The following tests are included : Tape, Vioc, Vddc.
 #	Bit 0-2 correspond to Tape, Vioc, Vddc test. To disable
 #	a particular test just set the corresponding bit to 1 before
 #	start. For example, if only Vddc test to be run, set R0=3.
 #	To run all, set R0 = 0.

1:	clrl	_Multi

 #	Tape Master Test

	andl3	$0x1,tst_mask,r0	
	jneq	1f			
	incl	_IOinit		
	clrl	_Berr
	callf	$4,_tape		
	cmpl	$0,_Berr		
	jneq	2f
	cmpl	$1,r0			
	jeql	Ttst
2:
	pushab	tmsg			
	callf	$8,_writes		
	clrl	_tape_ON		
	brw	1f
Ttst:
	clrl	_IOinit			
	callf	$4,_tm_ex		

 #	VIOC Controller Test

1:
	andl3	$0x2,tst_mask,r0
	jneq	1f
	incl	_IOinit		
	clrl	_Berr
	callf	$4,_vioc		
	cmpl	$0,_Berr		
	jneq	2f
	cmpl	$1,r0			
	jeql	Vtst
2:
	pushab	vmsg			
	callf	$8,_writes		
	clrl	_vioc_ON		
	brw	1f
Vtst:
	clrl	_IOinit			
	callf	$4,_v_ex 		

 #	VDDC Controller Test

1:
	andl3	$0x4,tst_mask,r0
	jneq	1f
	incl	_IOinit		
	clrl	_Berr
	callf	$4,_vddc		
	cmpl	$0,_Berr		
	jneq	2f
	cmpl	$1,r0			
	jeql	VDtst
2:
	pushab	vdmsg			
	callf	$8,_writes		
	clrl	_vddc_ON		
	brw	1f
VDtst:
	clrl	_IOinit			
	callf	$4,_vddc_ex 		



1:
	pushab	emsg
	callf	$4,_writes
	movl	$0xcafebabe,r0
	halt

 #	Real time clock Handler

	.align	2
	.globl	_Xclock
_Xclock:
	tstl	_bell			
	jneq	2f
	incl	_bturn
	cmpl	_bturn,$0x20
	jneq	2f
	pushl	$7
	callf	$8,_writec		
	incl	_btime
	clrl	_bturn
2:	rei


 #	Bus error handler

	.align	2
	.globl	_Buser
_Buser:
	movab	(sp),-(sp)		
	callf	$8,_buserror
	incl	_Berr
	movl	(sp)+,r0
	movl	(sp)+,r0
	rei


	.align	2
tst_mask:
	.long	0
_bell:	.long	0
_bturn: .long	0
_btime: .long	0
	.globl	_Multi
_Multi:  .long	0
	.globl	_Berr
_Berr:	.long	0
	.globl	_IOinit
_IOinit: .long	0
	.globl	_tape_ON
_tape_ON:
	.long	1
	.globl	_vioc_ON
_vioc_ON:
	.long	1
	.globl	_vddc_ON
_vddc_ON:
	.long	1
	.globl	_xy_ON
_xy_ON:
	.long	1

	.align	1
tmsg:	.ascii	"\nTape controller not found !\12\0"
vmsg:	.ascii	"\nVIOC controller not found !\12\0"
vdmsg:	.ascii	"\nVDDC controller not found !\12\0"
emsg:	.ascii	"\nDone ...\12\0"

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.