File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / d / memman / error_hdl.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

LL0:
	.data
	.set SBR,0
	.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 MAPEN,9
	.set MME,9
	.set TBIA,10
	.set TBIS,11
	.set DCK,12
	.set CCK,13
	.set PCBB,14
	.set KSP,19
	.set USP,20
	.set CPMDCB,21
	.set PADC,25
	.set DCR,27
	.set DC_ON,1
	.set DC_OFF,2
	.set TB_ON,256
	.set TB_OFF,512
	.align	2
	.globl	_Tname
_Tname:
	.data	2
L17:
	.ascii	"\12\0"
	.data
	.long	L17
	.text
	.align	1
	.globl	_chk_pars
_chk_pars:
	.word	L19
 # #include "definitions"
 # 
 # extern long *p_ptr, exp_par0, exp_par1, exp_par2, exp_par3;
 # char *Tname = "\n";		/* PTR to test name */
 # 
 # chk_pars(msg1)
 # char *msg1;
 # {	char *msg2;
	jbr 	L21
L22:
 # 	long *pcb_base, act_param;
 # 
 # 	/* Check fault parameter words  */
 # 	act_param = *p_ptr++;
	movl	*_p_ptr,-64(fp)
	addl2	$4,_p_ptr
 # 	if (exp_par0 != act_param)
	cmpl	_exp_par0,-64(fp)
	jeql	L23
 # 		{ msg2="** fault indicator (1st word) is not as expected !!\n"; 
	.data	1
L24:
	.ascii	"** fault indicator (1st word) is not as expected !!\12\0"
	.text
	movl	$L24,-56(fp)
 # 		  pverr_handler(msg1,msg2,exp_par0,act_param); }
	pushl	-64(fp)
	pushl	_exp_par0
	pushl	-56(fp)
	pushl	4(fp)
	callf	$20,_pverr_handler
 # 	act_param = *p_ptr++;
L23:
	movl	*_p_ptr,-64(fp)
	addl2	$4,_p_ptr
 # 	if (exp_par1 != act_param)
	cmpl	_exp_par1,-64(fp)
	jeql	L26
 # 		{ msg2="** virtual addr in 2nd parameter is not as expected\n"; 
	.data	1
L27:
	.ascii	"** virtual addr in 2nd parameter is not as expected\12\0"
	.text
	movl	$L27,-56(fp)
 # 		  pverr_handler(msg1,msg2,exp_par1,act_param); }
	pushl	-64(fp)
	pushl	_exp_par1
	pushl	-56(fp)
	pushl	4(fp)
	callf	$20,_pverr_handler
 # 	act_param = *p_ptr++;
L26:
	movl	*_p_ptr,-64(fp)
	addl2	$4,_p_ptr
 # 	if (exp_par2 != act_param)
	cmpl	_exp_par2,-64(fp)
	jeql	L28
 # 		{ msg2="** PC in 3rd parameter word is not as expected\n"; 
	.data	1
L29:
	.ascii	"** PC in 3rd parameter word is not as expected\12\0"
	.text
	movl	$L29,-56(fp)
 # 		  pverr_handler(msg1,msg2,exp_par2,act_param); }
	pushl	-64(fp)
	pushl	_exp_par2
	pushl	-56(fp)
	pushl	4(fp)
	callf	$20,_pverr_handler
 # 	act_param = (*p_ptr) & 0xffffffc0;  /* Mask out PSW flags */
L28:
	andl3	$-64,*_p_ptr,r0
	movl	r0,-64(fp)
 # 	if (exp_par3 != act_param)
	cmpl	_exp_par3,-64(fp)
	jeql	L30
 # 		{ msg2="** PSL in 4th parameter word is not as expected \n"; 
	.data	1
L31:
	.ascii	"** PSL in 4th parameter word is not as expected \12\0"
	.text
	movl	$L31,-56(fp)
 # 		  pverr_handler(msg1,msg2,exp_par3,act_param); }
	pushl	-64(fp)
	pushl	_exp_par3
	pushl	-56(fp)
	pushl	4(fp)
	callf	$20,_pverr_handler
 # 
 # }
L30:
	ret
	.set	L19,0x0
L21:
	subl3	$64,fp,sp
	jbr 	L22
	.data
	.text
	.align	1
	.globl	_pverr_handler
_pverr_handler:
	.word	L32
 # 
 # pverr_handler(msg1,msg2,exp,act)
 # char *msg1, *msg2;
 # long exp, act;
 # {	
	jbr 	L34
L35:
 # 
 # 	writes(Tname);
	pushl	_Tname
	callf	$8,_writes
 # 	writes(msg1); writec('\n'); writes(msg2); writec('\n');
	pushl	4(fp)
	callf	$8,_writes
	pushl	$10
	callf	$8,_writec
	pushl	8(fp)
	callf	$8,_writes
	pushl	$10
	callf	$8,_writec
 # 	writes("** Expected data : "); writeh(exp); writec('\n');
	.data	1
L38:
	.ascii	"** Expected data : \0"
	.text
	pushl	$L38
	callf	$8,_writes
	pushl	12(fp)
	callf	$8,_writeh
	pushl	$10
	callf	$8,_writec
 # 	writes("** Actual data   : "); writeh(act); writec('\n');
	.data	1
L40:
	.ascii	"** Actual data   : \0"
	.text
	pushl	$L40
	callf	$8,_writes
	pushl	16(fp)
	callf	$8,_writeh
	pushl	$10
	callf	$8,_writec
 # 	asm("halt");
halt
 # }
	ret
	.set	L32,0x0
L34:
	jbr 	L35
	.data
	.text
	.align	1
	.globl	_print_params
_print_params:
	.word	L42
 # 
 # 
 # 
 # print_params()
 # {	
	jbr 	L44
L45:
 # 	long *param_ptr;
 # 
 # 	param_ptr = p_ptr;
	movl	_p_ptr,-56(fp)
 # 	writes("	Parameter 1 : "); writeh(*param_ptr++); writec('\n');
	.data	1
L46:
	.ascii	"\11Parameter 1 : \0"
	.text
	pushl	$L46
	callf	$8,_writes
	movl	-56(fp),r0
	addl2	$4,-56(fp)
	pushl	(r0)
	callf	$8,_writeh
	pushl	$10
	callf	$8,_writec
 # 	writes("	Parameter 2 : "); writeh(*param_ptr++); writec('\n');
	.data	1
L47:
	.ascii	"\11Parameter 2 : \0"
	.text
	pushl	$L47
	callf	$8,_writes
	movl	-56(fp),r0
	addl2	$4,-56(fp)
	pushl	(r0)
	callf	$8,_writeh
	pushl	$10
	callf	$8,_writec
 # 	writes("	Parameter 3 : "); writeh(*param_ptr++); writec('\n');
	.data	1
L48:
	.ascii	"\11Parameter 3 : \0"
	.text
	pushl	$L48
	callf	$8,_writes
	movl	-56(fp),r0
	addl2	$4,-56(fp)
	pushl	(r0)
	callf	$8,_writeh
	pushl	$10
	callf	$8,_writec
 # 	writes("	Parameter 4 : "); writeh(*param_ptr); writec('\n');
	.data	1
L49:
	.ascii	"\11Parameter 4 : \0"
	.text
	pushl	$L49
	callf	$8,_writes
	pushl	*-56(fp)
	callf	$8,_writeh
	pushl	$10
	callf	$8,_writec
 # 	asm("halt");
halt
 # }
	ret
	.set	L42,0x0
L44:
	subl3	$56,fp,sp
	jbr 	L45
	.data
 # 
 # 
 # 
 # 

unix.superglobalmegacorp.com

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