Trailing-Edge
-
PDP-10 Archives
-
BB-X140B-BB_1986
-
10,7/703mon/klpprm.mac
There are 3 other files named klpprm.mac in the archive.  Click here to see a list.
UNIVERSAL KLPPRM - REGISTER/BIT DEFINITIONS FOR THE CI20 (KLIPA)	V13
SUBTTL	JOSEPH A. DZIEDZIC/JAD	7 JAN 86
	SEARCH	F,S,MACSYM
	SALL
;THIS UNIVERSAL FILE CONTAINS REGISTER AND BIT DEFINITIONS FOR THE CI20
;AND IS SEARCHED BY ANY MODULE WHICH DEALS WITH CI20'S.
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
.CPYRT<1984,1986>,.
;COPYRIGHT (C) 1984,1986
;BY DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
;ALL RIGHTS RESERVED.
XP	VKLPRM,13
XP	MAXNDS,20		;MAXIMUM NUMBER OF NODES ON THE CI BUS
				; (REALLY BELONGS SOMEWHERE ELSE?)
XP	NOSTCT,22		;NUMBER OF STATISTICS COUNTERS
	SUBTTL	PORT CONTROL BLOCK FORMAT
;*************************************************************************
;*************************************************************************
;***                                                                   ***
;***  THE ORDERING OF DATA IN THE BEGINNING OF THE PORT CONTROL BLOCK  ***
;***  IS DEFINED BY THE KLIPA MICROCODE.  CHANGES TO THAT PART OF THE  ***
;***  PCB DEFINITION SHOULD BE MADE ONLY WHEN THE MICROCODE CHANGES.   ***
;***                                                                   ***
;*************************************************************************
;*************************************************************************
;THE OFFSETS WITHIN A QUEUE IN A PORT CONTROL BLOCK
	.PQIWD==0	;INTERLOCK WORD
	.PQFLI==1	;FORWARD LINK (FLINK)
	.PQBLI==2	;BACKWARD LINK (BLINK)
	.PQLEN==3	;LENGTH OF A QUEUE
	MAXQUE==3	;MAXIMUM COMMAND QUEUE NUMBER
	PHASE	0	;DEFINE AS OFFSETS
.PCPCB:!
.PCBDT:!BLOCK	1	;ADDRESS OF BUFFER DESCRIPTOR TABLE (BDT)
.PCMQE:!BLOCK	1	;MESSAGE QUEUE ENTRY LENGTH
.PCDQE:!BLOCK	1	;DATAGRAM QUEUE ENTRY LENGTH
.PCRQE:!BLOCK	1	;RESERVED QUEUE ENTRY LENGTH
.PCQBG:!		;BEGINNING OF QUEUE STRUCTURES IN PCB
.PCCQB:!		;BEGINNING OF COMMAND QUEUES IN PCB
.PCCQ3:!BLOCK	.PQLEN	;COMMAND QUEUE 3
.PCCQ2:!BLOCK	.PQLEN	;COMMAND QUEUE 2
.PCCQ1:!BLOCK	.PQLEN	;COMMAND QUEUE 1
.PCCQ0:!BLOCK	.PQLEN	;COMMAND QUEUE 0
.PCCQE:!		;END OF THE COMMAND QUEUES IN PCB
.PCRSQ:!BLOCK	.PQLEN	;RESPONSE QUEUE
.PCMFQ:!BLOCK	.PQLEN	;MESSAGE FREE QUEUE
.PCDFQ:!BLOCK	.PQLEN	;DATAGRAM FREE QUEUE
.PCRFQ:!BLOCK	.PQLEN	;RESERVED FREE QUEUE
.PCQND:!		;END OF QUEUE STRUCTURES IN PCB
;PCB DEFINITION IS CONTINUED ON THE NEXT PAGE
;PCB DEFINITION CONTINUED FROM PREVIOUS PAGE
;***  STILL IN PCB DEFINITION DETERMINED BY THE KLIPA MICROCODE  ***
.PCRSV:!BLOCK	1	;RESERVED TO PORT
.PCER0:!BLOCK	1	;ERROR WORD 0 (QUEUE INFORMATION)
	E0.CMD==1B0			;ERROR WHILE READING A COMMAND
	DEFSTR	(E0QUE,.PCER0,2,2)	;COMMAND QUEUE THAT HAD THE ERROR
	E0.RES==1B3			;ERROR WHILE BUILDING A RESPONSE
	DEFSTR	(E0MBZ,.PCER0,11,5)	;MUST BE ZERO
	DEFSTR	(E0FLI,.PCER0,35,24)	;FLINK OF ENTRY IN ERROR
.PCER1:!BLOCK	1	;ERROR WORD 1 (API FUNCTION WORD)
.PCER2:!BLOCK	1	;ERROR WORD 2 (REGISTER DATA)
.PCER3:!BLOCK	1	;ERROR WORD 3 (CHANNEL LOGOUT WORD 1)
.PCER4:!BLOCK	1	;ERROR WORD 4 (CHANNEL LOGOUT WORD 2)
.PCPBA:!BLOCK	1	;PHYSICAL ADDRESS OF START OF PCB
.PCPIA:!BLOCK	1	;PRIORITY INTERRUPT LEVEL
.PCIVA:!BLOCK	1	;INTERRUPT VECTOR ADDRESS (NOT CURRENTLY USED)
.PCCCW:!BLOCK	1	;PORT'S CHANNEL COMMAND WORD
.PCRSP:!BLOCK	1	;RESERVED TO PORT
.PCPCL==.-.PCPCB	;LENGTH OF PCB AREA DEFINED BY KLIPA MICROCODE
;THIS IS THE END OF THAT PART OF THE PCB WHOSE ORDERING IS DETERMINED
;BY THE KLIPA MICROCODE.  SOFTWARE ADDITIONS TO THE PCB FOLLOW.
;PCB DEFINITION IS CONTINUED ON THE NEXT PAGE
;PCB DEFINITION CONTINUED FROM THE PREVIOUS PAGE
.PCVPO:!BLOCK	1	;VIRTUAL-PHYSICAL OFFSET FOR REFERENCES TO
			; THE PCB (XMOVEI AC,.PCXXX/SUB AC,.PCVPO)
.PCSTS:!BLOCK	1	;STATUS FLAGS
	ST.STP==1B0		;KLIPA WAS STOPPED LAST SECOND
	ST.MFL==1B1		;MEMORY IS BEING SET OFFLINE - KLIPA SHOULD
				; BE SHUTDOWN AND RESTARTED WHEN ST.RES LIGHTS.
	ST.RES==1B2		;RESTART THE KLIPA, MEMORY HAS BEEN JUGGLED
	ST.MAI==1B3		;MAINTENANCE MODE ENABLED
	ST.WAB==1B4		;WIRE A IS BAD
	ST.WBB==1B5		;WIRE B IS BAD
	ST.DED==1B6		;KLIPA IS DEAD
	ST.PTH==1B7		;LAST PATH FOR LOOPBACK PACKET
	ST.CQA==1B8		;QUEUED I/O FOR THIS KLIPA
	ST.RDY==1B9		;KLIPA IS READY TO ROLL
.PCFQC:!BLOCK	1	;NUMBER OF DATAGRAMS,,MESSAGES TO PUT BACK ON
			; THE FREE QUEUES WHEN KLIPA IS RESTARTED AFTER
			; A SET MEMORY OFFLINE COMMAND.
.PCONN:!BLOCK	1	;"OUR" CI NODE NUMBER
.PCSBK:!BLOCK	MAXNDS	;SYSTEM BLOCK ADDRESS INDEXED BY CI NODE NUMBER
.PCPBK:!BLOCK	MAXNDS	;PATH BLOCK ADDRESS INDEXED BY CI NODE NUMBER
.PCRIS:!BLOCK	MAXNDS	;REQUEST-ID STATUS/FLAGS INDEXED BY CI NODE NUMBER
	RI.PTH==1B0		;PATH LAST ID SENT ON (0 = A, 1 = B)
	RI.PAO==1B1		;PATH A OPEN
	RI.PBO==1B2		;PATH B OPEN
	RI.NRA==1B3		;NO RESPONSE ON PATH A
	RI.NRB==1B4		;NO RESPONSE ON PATH B
	RI.TRY==1B5		;REQUEST-ID ATTEMPT (0 = FIRST, 1 = SECOND)
	RI.WFR==1B6		;WAITING FOR RESPONSE
	MSKSTR	(IDNOR,.PCRIS,77B17)	;NUMBER OF NO RESPONSES
.PCRIT:!BLOCK	MAXNDS	;REQUEST-ID TIMER INDEXED BY CI NODE NUMBER
.PCRIN:!BLOCK	1	;NEXT NODE FOR REQUEST-ID POLLER
IFN FTMP,<
.PCCPU:!BLOCK	1	;CPU NUMBER WHICH OWNS THIS KLIPA
>; END IFN FTMP
;PCB DEFINITION IS CONTINUED ON THE NEXT PAGE
;PCB DEFINITION CONTINUED FROM THE PREVIOUS PAGE
;KEEP ALIVE COUNTER DATA
.PCKCT:!BLOCK	1	;CPU UPTIME WHEN LAST COMMAND WAS QUEUED
.PCKRT:!BLOCK	1	;CPU UPTIME WHEN LAST RESPONSE WAS RECEIVED
.PCKAC:!BLOCK	1	;COUNT OF KEEP ALIVE FAILURES
.PCKCI:!BLOCK	1	;CONI AT LAST KEEP ALIVE FAILURE
.PCKAT:!BLOCK	1	;SYSTEM UPTIME AT LAST KEEP ALIVE FAILURE
;ERROR INFORMATION GATHERED BY REPORT
.PCCSR:!BLOCK	1	;CONI AT LAST INTERRUPT
.PCCRA:!BLOCK	1	;CRAM ADDRESS
.PCCDL:!BLOCK	1	;LH CRAM DATA
.PCCDR:!BLOCK	1	;RH CRAM DATA
.PCLG0:!BLOCK	1	;CHANNEL LOGOUT WORD 0
.PCLG1:!BLOCK	1	;CHANNEL LOGOUT WORD 1
.PCLG2:!BLOCK	1	;CHANNEL LOGOUT WORD 2
.PCECW:!BLOCK	1	;PORT'S CCW AT TIME OF ERROR
.PCLKE:!BLOCK	1	;DATE/TIME OF LAST KLIPA ERROR
.PCFQE:!BLOCK	1	;COUNT OF  DATAGRAM,,MESSAGE  FREE QUEUE ERRORS
;PORT COUNTER MANIPULATION VARIABLES
.PCCTM:!BLOCK	1	;TIMER FOR NEXT PERIODIC READ-COUNTERS
.PCCJB:!BLOCK	1	;JOB NUMBER WHICH OWNS COUNTERS
.PCCTR:!BLOCK	NOSTCT+1 ;STATISTICS COUNTERS STORED HERE
			;WORD 0 CONTAINS DATE/TIME WHEN COUNTERS LAST READ
			;WORDS 1 - NOSTCT CONTAIN THE COUNTERS DATA
;MAINTENANCE MODE VARIABLES
.PCMJB:!BLOCK	1	;JOB NUMBER WHICH IS DOING A MAINTENANCE FUNCTION
.PCMTI:!BLOCK	1	;MAINTENANCE MODE MESSAGE TIMER
.PCMFL:!BLOCK	1	;MAINTENANCE MODE MESSAGE STATUS FLAG (INITIALIZED TO -1)
			;0 = PACKET RECEIVED WITHOUT ERROR
			;1 = PACKET RECEIVED WITH ERROR
.PCMCN:!BLOCK	1	;BUFFER NAME WHICH CLOSE BUFFER COMMAND WAS ISSUED FOR
.PCMCF:!BLOCK	1	;=1 IF RECEIVED A CLOSE BUFFER RESPONSE FOR THE ABOVE BUFFER
.PCCDB:!BLOCK	1	;ADDRESS OF FAKE CDB FOR DIAG. UUO CHANNEL PROGRAM STUFF
;MICROLOADER PARAMETER BLOCK
.PCULB:!BLOCK	.ULLEN	;FILLED IN BY BLT AT KLPCFG
.PCLEN:!		;LENGTH OF A PCB
	DEPHASE
	SUBTTL	THE END
	END