File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / d / fpevent / pipe_test.lst
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:30:17 2019 UTC (7 years ago) by root
Branches: bsd, MAIN
CVS tags: v121, HEAD
Power 6/32 Unix version 1.21

   1  00000000                                  LL0:
   2  00000000                                  	.data
   3  00000158 *                                	.text
   4  00000000                                  	.align	1
   5  00000000                                  	.globl	_pipeline_test
   6  00000000                                  _pipeline_test:
   7  0000F1F4    0000                          	.word	L381
   8  0000F1F6                                   # 
   9  0000F1F6                                   # #include "evt_defs.h"
  10  0000F1F6                                   # 
  11  0000F1F6                                   # 
  12  0000F1F6                                   # /*
  13  0000F1F6                                   #  ********************************************************************
  14  0000F1F6                                   #  *
  15  0000F1F6                                   #  *	MONITOR FOR THE FPP PIPELINED EVENTS TEST
  16  0000F1F6                                   #  *
  17  0000F1F6                                   #  * If evt_inst is non-zero, run the test that it specifies, otherwise
  18  0000F1F6                                   #  * run all of the pipelined tests. If the print headers option is 
  19  0000F1F6                                   #  * set then print the names of the tests as they are run:
  20  0000F1F6                                   #  * Piped Events Tests: pipe1  pipd2  pipe3  pipe4  pipe5  pipe6  pipe7  pipe8
  21  0000F1F6                                   #  *  pipe9  pipd10 pipe11 pipe12 pipe13 pipe14 pipe15
  22  0000F1F6                                   #  ********************************************************************
  23  0000F1F6                                   # */
  24  0000F1F6                                   # pipeline_test()
  25  0000F1F6                                   # {
  26  0000F1F6    13 014f                       	jbr 	L383
  27  0000F1F9                                  L384:
  28  0000F1F9                                   # 	if( evt_inst )	{		/* was the test specified? */
  29  0000F1F9    5d effffffff5                 	tstl	_evt_inst
  30  0000F1FF    21 03 13 00b4                 	jeql	L385
  31  0000F204                                   # 	      inst_index = evt_inst - 1;	/* get '0' based subtest # */
  32  0000F204    3c 01 efffffffe9 50           	subl3	$1,_evt_inst,r0
  33  0000F20C    0d 50 efffffffe1              	movl	r0,_inst_index
  34  0000F213                                   # 	      subtest = evt_inst;		/* get '1' based subtest # */
  35  0000F213    0d efffffffdb efffffffd6      	movl	_evt_inst,_subtest
  36  0000F21E                                   # 	      if( (inst_index < 0) || (inst_index >= no_pipe_tests) ) {
  37  0000F21E    5d efffffffd0                 	tstl	_inst_index
  38  0000F224    91 0d                         	jlss	L9999
  39  0000F226    1d efffffffc8 efffffffc3      	cmpl	_inst_index,_no_pipe_tests
  40  0000F231    91 3d                         	jlss	L386
  41  0000F233                                  L9999:
  42  0000F233                                   # 	           if( (prt_hdrs) && (cycle == 1) ) {  /* not a valid instr */
  43  0000F233    5d efffffffbb                 	tstl	_prt_hdrs
  44  0000F239    31 33                         	jeql	L387
  45  0000F23B    1d efffffffb3 01              	cmpl	_cycle,$1
  46  0000F242    21 2a                         	jneq	L387
  47  0000F244                                   # 			writes("There is no pipeline test #");
  48  0000F244                                  	.data	1
  49  00000158 *                                L389:
  50  00000158 *  5468657265206973206E6F207     	.ascii	"There is no pipeline test #\0"
                  06970656C696E652074657374
                  202300
  51  00000174 *                                	.text
  52  0000F244    dd 8f00000158                 	pushl	$L389
  53  0000F24A    fe 08 efffffffa3              	callf	$8,_writes
  54  0000F251                                   # 		        writed( evt_inst );
  55  0000F251    dd efffffff9d                 	pushl	_evt_inst
  56  0000F257    fe 08 efffffff96              	callf	$8,_writed
  57  0000F25E                                   # 		        writec('\n');
  58  0000F25E    dd 0a                         	pushl	$10
  59  0000F260    fe 08 efffffff8d              	callf	$8,_writec
  60  0000F267                                   # 			error = TRUE;	/* needed for line feed control */
  61  0000F267    0d 01 efffffff86              	movl	$1,_error
  62  0000F26E                                   # 		   }
  63  0000F26E                                   # 	      } else {
  64  0000F26E                                  L387:
  65  0000F26E    11 45                         	jbr 	L392
  66  0000F270                                  L386:
  67  0000F270                                   # 		   valid_test = TRUE;		/* a test is being run */
  68  0000F270    0d 01 efffffff7d              	movl	$1,_valid_test
  69  0000F277                                   # 	           if( (prt_hdrs) && (cycle == 1) ) 
  70  0000F277    5d efffffff77                 	tstl	_prt_hdrs
  71  0000F27D    31 21                         	jeql	L393
  72  0000F27F    1d efffffff6f 01              	cmpl	_cycle,$1
  73  0000F286    21 18                         	jneq	L393
  74  0000F288                                   # 	                 writes( pipe_test_tbl[inst_index].name );
  75  0000F288    0d efffffff66 50              	movl	_inst_index,r0
  76  0000F28F    48 03 50 50                   	shll	$3,r0,r0
  77  0000F293    dd e000000004                 	pushl	_pipe_test_tbl+4(r0)
  78  0000F299    fe 08 efffffff54              	callf	$8,_writes
  79  0000F2A0                                   # 		   (*pipe_test_tbl[inst_index].test)();  /* run the test */
  80  0000F2A0                                  L393:
  81  0000F2A0    0d efffffff4e 50              	movl	_inst_index,r0
  82  0000F2A7    48 03 50 50                   	shll	$3,r0,r0
  83  0000F2AB    0d e000000000 50              	movl	_pipe_test_tbl(r0),r0
  84  0000F2B2    bf 04 60                      	calls	$4,(r0)
  85  0000F2B5                                   # 	      }
  86  0000F2B5                                  L392:
  87  0000F2B5                                   # 	} else		/* the test # wasn't specfied */
  88  0000F2B5    13 008f                       	jbr 	L394
  89  0000F2B8                                  L385:
  90  0000F2B8                                   # 	      for(inst_index=0; inst_index < no_pipe_tests; inst_index++) {
  91  0000F2B8    4d efffffff36                 	clrl	_inst_index
  92  0000F2BE                                  L397:
  93  0000F2BE    1d efffffff30 efffffff2b      	cmpl	_inst_index,_no_pipe_tests
  94  0000F2C9    81 7c                         	jgeq	L396
  95  0000F2CB                                   # 	           if( (prt_hdrs) && (cycle == 1) ) {
  96  0000F2CB    5d efffffff23                 	tstl	_prt_hdrs
  97  0000F2D1    31 40                         	jeql	L398
  98  0000F2D3    1d efffffff1b 01              	cmpl	_cycle,$1
  99  0000F2DA    21 37                         	jneq	L398
 100  0000F2DC                                   # 			 if( (inst_index == 8) ||
 101  0000F2DC                                   # 			     (inst_index == 16) )
 102  0000F2DC    1d efffffff12 08              	cmpl	_inst_index,$8
 103  0000F2E3    31 09                         	jeql	L9998
 104  0000F2E5    1d efffffff09 10              	cmpl	_inst_index,$16
 105  0000F2EC    21 0d                         	jneq	L399
 106  0000F2EE                                  L9998:
 107  0000F2EE                                   # 			      writes("\n                       ");
 108  0000F2EE                                  	.data	1
 109  00000174 *                                L400:
 110  00000174 *  0A20202020202020202020202     	.ascii	"\12                       \0"
                  0202020202020202020202000
 111  0000018d *                                	.text
 112  0000F2EE    dd 8f00000174                 	pushl	$L400
 113  0000F2F4    fe 08 effffffef9              	callf	$8,_writes
 114  0000F2FB                                   # 	                 writes( pipe_test_tbl[inst_index].name );
 115  0000F2FB                                  L399:
 116  0000F2FB    0d effffffef3 50              	movl	_inst_index,r0
 117  0000F302    48 03 50 50                   	shll	$3,r0,r0
 118  0000F306    dd e000000004                 	pushl	_pipe_test_tbl+4(r0)
 119  0000F30C    fe 08 effffffee1              	callf	$8,_writes
 120  0000F313                                   # 		   }
 121  0000F313                                   # 		   valid_test = TRUE;		/* a test is being run */
 122  0000F313                                  L398:
 123  0000F313    0d 01 effffffeda              	movl	$1,_valid_test
 124  0000F31A                                   # 	           subtest = inst_index+1;	/* get '1' based subtest # */
 125  0000F31A    1c 01 effffffed3 50           	addl3	$1,_inst_index,r0
 126  0000F322    0d 50 effffffecb              	movl	r0,_subtest
 127  0000F329                                   # 		   (*pipe_test_tbl[inst_index].test)();  /* run the test */
 128  0000F329    0d effffffec5 50              	movl	_inst_index,r0
 129  0000F330    48 03 50 50                   	shll	$3,r0,r0
 130  0000F334    0d e000000000 50              	movl	_pipe_test_tbl(r0),r0
 131  0000F33B    bf 04 60                      	calls	$4,(r0)
 132  0000F33E                                   # 	      }
 133  0000F33E                                  L395:
 134  0000F33E    6d effffffeb0                 	incl	_inst_index
 135  0000F344    13 ff77                       	jbr 	L397
 136  0000F347                                  L396:
 137  0000F347                                  L394:
 138  0000F347                                   # }
 139  0000F347    40                            	ret#2
 140  0000F348                                  	.set	L381,0x0
 141  0000F348                                  L383:
 142  0000F348    13 feae                       	jbr 	L384
 143  0000F34B                                  	.data
 144  00000158 *                                 # 
 144  00000158 *                                 # 

unix.superglobalmegacorp.com

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