Trailing-Edge
-
PDP-10 Archives
-
tops10_704_monitoranf_bb-x140c-sb
-
10,7/mon/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) V17
SUBTTL JOSEPH A. DZIEDZIC/JAD 7 JUNE 88
SEARCH F,S,DEVPRM,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 BE USED
; OR COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
;
;COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1984,1986,1988.
;ALL RIGHTS RESERVED.
.CPYRT<1984,1988>,.
XP VKLPRM,17
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 IPKSIZ ;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
.PCAL1:!BLOCK 1 ;PHYSICAL ADDRESS OF CHANNEL LOGOUT WORD 1 (.CSCLP)
.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
.PCLGO:!BLOCK 1 ;ADDRESS OF CHANNEL LOGOUT AREA
.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
.PCBIT:! BLOCK 1 ;ADDRESS OF CONI BITS TO TEST ON INTERRUPT
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 CHANNEL DATA BLOCK
.PCOLD:!BLOCK 1 ;NON-ZERO IF ALREADY CONFIGURED
.PCULB:!BLOCK .ULLEN ;MICROCODE LOADER PARAMETER BLOCK
.PCLEN:! ;LENGTH OF A PCB
DEPHASE
SUBTTL THE END
END