1
0
mirror of https://github.com/PDP-10/stacken.git synced 2026-02-28 17:09:15 +00:00
Files
Lars Brinkhoff 6e18f5ebef Extract files from tape images.
Some tapes could not be extracted.
2021-01-29 10:47:33 +01:00

207 lines
6.9 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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