cdc:nos2.source:nam5871:ns_ims
Table of Contents
NS$IMS
Table Of Contents
- [00002] PROC NS$IMS
- [00003] NS$IMS - NS INTERNAL MAINTAINENCE SPECIFICATION.
- [00007] NS INTERNAL MAINTAINENCE SPECIFICATION(IMS).
Source Code
- NS$IMS.txt
- *DECK NS$IMS
- PROC NS$IMS;
- # TITLE NS$IMS - NS INTERNAL MAINTAINENCE SPECIFICATION. #
- BEGIN # NS$IMS #
- #
- ** NS$IMS - NS INTERNAL MAINTAINENCE SPECIFICATION(IMS).
- *
- * A. LIM 83/01/05
- *
- * THIS PROCEDURE CONTAINS NO EXECUTABLE CODE. IT IS AN IMS.
- *
- * PROC NS$IMS
- *
- * ENTRY NONE
- *
- * EXIT NONE
- *
- *E
- * 1.0 INTRODUCTION
- * 2.0 OVERLAY STRUCTURES
- * 2.1 OVERLAY LOADING
- * 3.0 TABLE STRUCTURES
- * 3.1 NPU TABLE (NPT)
- * 3.2 NPU ACTIVITY TABLE (NAT)
- * 3.3 NPU STATUS TABLE (NST)
- * 3.4 NODE CONNECTION TABLE (NCT)
- * 3.5 HISTORY BUFFER
- * 3.6 K-DISLPAY BUFFER
- * 3.7 PAGE-WAIT BUFFER
- * 3.8 NETWORK CONFIGURATION FILE
- * 3.8.1 NPU CROSS REFERENCE TABLE
- * 3.8.2 PHYSICAL LINK CROSS REFERENCE TABLE
- * 3.9 NETWORK DUMP FILE (NDF)
- * 3.10 NETWORK LOAD FILE (NLF)
- * 4.0 OVERVIEW
- * 4.1 INITIATION OF LOCAL NPU DUMP/LOAD PROCESS BY SAM
- * 4.2 INITIATION OF LOCAL NPU DUMP/LOAD PROCESS BY PIP
- * 4.3 REMOTE NPU DUMP/LOAD PROCESS
- * 4.4 DUMP PROCEDURE
- * 4.4.1 DUMP DECISION
- * 4.4.2 DUMP SM SEQUENCE
- * 4.5 LOAD PROCEDURE
- * 4.5.1 LOAD SM SEQUENCE
- * 4.6 NS STATE TABLE
- * 4.6.1 NS STATE DIAGRAM
- * 4.6.2 NOTES ON NS STATE DIAGRAM
- * 4.7 STRUCTURE CHARTS
- * 4.7.1 NS EXECUTIVE
- * 4.7.2 SM PROCESSOR
- * 4.7.2.1 NETWORK SM PROCESSOR
- * 4.7.2.2 HOST SM PROCESSOR
- * 5.0 MISCELLANEOUS
- * 5.1 NS CONTROL STATEMENT PARAMETERS
- * 5.2 TSB MANAGER
- * 5.3 MACREL INTERFACE
- * 5.4 HOST OPERATOR COMMANDS
- * 6.0 MODULE DESCRIPTIONS
- *
- *
- *
- *
- *
- *E
- * 1.0 INTRODUCTION
- *
- * THE NETWORK SUPERVISOR (NS) EXECUTES AS A NAM APPLICATION
- * WITH SPECIAL PRIVILEGES AND RESPONDS TO REQUESTS TO
- * PERFORM THE FOLLOWING PROCEDURE:
- *
- * (1) DUMP NPU MEMORY INTO A HOST PERMANENT FILE AS
- * DIRECTED BY THE DUMP PROCEDURE CONTROL BLOCK
- * DIRECTIVES OF THE PROGRAM INITIATION CONTROL
- * BLOCK (PICB) THAT RESIDES ON THE NETWORK LOAD
- * FILE (NLF).
- *
- * (2) LOAD CCP SOFTWARE FROM NETWORK LOAD FILE (NLF),
- * AND NPU CONFIGURATION BLOCK (NCB) FROM THE
- * NETWORK CONFIGURATION FILE (NCF) INTO NPU
- * MEMORY AS DIRECTED BY THE LOAD PROCEDURE
- * CONTROL BLOCK (LPCB) DIRECTIVES OF THE PICB
- * THAT RESIDES ON NLF.
- *
- * (3) SUPPORT NAM K-DISPLAY COMMANDS.
- *
- *
- *
- *
- *E
- * 2.0 OVERLAY STRUCTURES
- *
- * NS IS COMPOSED OF A MAIN OVERLAY AND SEVEN PRIMARY
- * OVERLAYS, WITH SOME PRIMARY OVERLAYS CONSIST OF
- * SECONDARY OVERLAYS.
- * THE FOLLOWING IS A GENERAL MEMORY LAYOUT OF NS.
- * THE FIELD LENGTH, AND THE LENGTH OF THE VARIOUS
- * OVERLAYS ARE SUBJECT TO CHANGE IF FUTURE ENHANCEMENT
- * OR MODIFICATION IS SO DECIDED TO BE NECESSARY.
- * THE FIELD LENGTH SHOWS IN THIS DIAGRAM IS JUST
- * AN APPROXIMATION.
- * DUE TO PAGE SIZE CONTRAINT, NOT ALL THE SECONDARY
- * OVERLAYS ARE SHOWN IN THE DIAGRAM.
- *
- *
- * 0 +-----------------------------------------------------------+
- * I I
- * I I
- * I I
- * I I
- * I I
- * I 0,0 I
- * I I
- * I I
- * I I
- * I I
- * I I
- * 15000 +-----------------------------------------------------------+
- * I I I I 4,0 I I I I
- * I I 2,0 I 3,0 I I I 6,0 I I
- * I I I I-----I 5,0 I I I
- * I 1,0 I----------------+-----+ I I-----I 7,0 I
- * I I I I I I I I I I
- * I I2,1I2,2I...I2,13I +-----+ I I
- * I I I---+ I I I I
- * +------------+---+ +----+ +-----+
- * I I I I
- * I I I1,5I
- * I 1,1I...I I
- * I I I I
- * I I +---+
- * I I
- * 16500 +----+
- *
- *
- * OVERLAY NUMBER DESCRIPTIONS
- * -------------- ------------
- *
- * 0,0 NS MAIN/RESIDENT OVERLAY
- * NS EXECUTIVE
- * UTILITY ROUTINES
- *
- * 1,0 NS INITIALIZATION OVERLAY
- *
- * 1,2 NS NETON PROCESSOR OVERLAY
- *
- * 1,3 NS BUILD NODE CONNECTION TABLE(NCT) OVERLAY
- *
- * 1,4 NS BUILD NPU TABLE(NPT) OVERLAY
- *
- * 1,5 NS NPU DUMP INDEX INITIALIZER OVERLAY
- *
- * 2,0 NS HOST INTERFACE OVERLAY
- *
- * 2,1 NS HOP/BREAK PROCESSOR OVERLAY
- *
- * 2,2 NS HOP/END PROCESSOR OVERLAY
- *
- * 2,3 NS HOP COMMAND CRACKER OVERLAY
- *
- * 2,4 NS FILE COMMAND PROCESSOR OVERLAY
- *
- * 2,5 NS HISTORY COMMAND PROCESSOR OVERLAY
- *
- * 2,6 NS NOFILE COMMAND PROCESSOR OVERLAY
- *
- * 2,7 NS STATUS COMMMAND PROCESSOR OVERLAY
- *
- * 2,10 NS K-DISPLAY DIAGNOSTIC OVERLAY
- *
- * 2,11 NS HOP/PAGE PROCESSOR OVERLAY
- *
- * 2,12 NS PROGRAM COMMAND PROCESSOR OVERLAY
- *
- * 2,13 NS HOP/START PROCESSOR OVERLAY
- *
- * 3,0 NS K-DISLPAY MANAGER OVERLAY
- *
- * 4,0 NS NPU ABNORMAL RESPONSE PROCESSOR OVERLAY
- *
- * 5,0 NS ERROR PROCESSOR OVERLAY
- *
- * 6,0 NS LOAD REQUEST PROCESSOR OVERLAY
- *
- * 7,0 NS NDCB RESPONSE PROCESSOR OVERLAY
- *
- *
- *E
- * 2.1 OVERLAY LOADING
- *
- * OVERLAY LOADING IS DONE VIA SUBROUTINE CALL TO NETWORK
- * DEFINITION LANGUAGE PROCESSOR (NDLP) ROUTINE *NDLOVLD*.
- * NDLOVLD-S MAJOR FUNCTION IS TO LOAD OVERLAYS.
- * IT DETERMINES IF PRIMARY OR SECONDARY OVERLAY IS
- * REQUESTED. IF THE OVERLAY HAS ALREADY BEEN LOADED
- * JUST SET UP THE RJ AND JUMP TO IT. OTHERWISE, LOAD
- * IT. OVERLAY LOAD ERRORS CAUSE NS TO ABORT. CLEAR
- * THE SECONDARY DATA WORDS TO ZERO WHEN LOADING A NEW
- * PRIMARY. ALSO SAVE THE PRIMARY RETURN ADDRESS
- * TO PRESERVE IT IF SECONDARIES ARE LATER LOADED.
- * UPON RETURN FROM TEH OVERLAY, FOR PRIMARIES, RESTORE
- * THE RETURN ADDRESS IN CASE IT HAS BEEN CLOBBERED BY
- * SECONDARY OVERLAY LOADS. FOR SECONDARIES, RESTORE
- * THE PRIMARY NAME IN CUROVL. RETURN.
- *
- * ENTRY PARAMETERS: 42/OVL-NAME,6/0,6/PRI,6/SEC
- * OVL-NAME = 7-CHARACTERS OR LESS OVERLAY NAME
- * PRI = PRIMARY OVERLAY NUMBER
- * SEC = SECONDARY OVERLAY NUMBER
- *
- * EXIT PARAMETERS: CUROVL - CURRENT OVERLAY SET IN
- * EXTERNAL REFERENCE AREA.
- *
- *
- *
- *
- *E
- * 3.0 TABLE STRUCTURES
- *
- * THE TABLES DESCRIBED IN THE FOLLOWING SUBSECTIONS ARE
- * MAJOR TABLES USED BY NS.
- *
- *
- *E
- * 3.1 NPU TABLE (NPT)
- *
- * THE NPU-TABLE(NPT) CONSISTS OF A ONE-WORD HEADER AND
- * A FIVE-WORD ENTRY FOR EACH NPU DEFINED IN THE NETWORK
- * CONFIGURATION FILE. IT HAS THE FOLLOWING FORMAT:
- *
- * HEADER FORMAT:
- *
- *TEXT
- *T 6/ID,12/EC,18/0,12/NLTAIL,12/NLHEAD
- *ENDTEXT
- *
- * ID = NPU TABLE ID (5)
- * EC = NPU TABLE ENTRY COUNT
- * NLTAIL = NAT LIST TAIL PTR
- * NLHEAD = NAT LIST HEAD PTR
- *
- *
- * NPT FORMAT:
- *
- *TEXT
- *T WORD+0 42/NPU-NAME,2/-,1/L,1/D,1/F,1/S,4/PEC,8/NPUNN
- *T WORD+1 36/VAR-NAME,8/NCTOR,4/LSN,12/NSTTSB
- *T WORD+2 12/NATTSB,48/N-NODE-NUMBERS
- *T WORD+3 30/NCB-LENGTH,30/NCB-RSA
- *T WORD+4 42/ALF-PFN,6/-,12/DIR-TSB
- *ENDTEXT
- *
- * NPU-NAME = NPU NAME
- * - = UNUSED
- * L = LAST LOAD FILE FAILED FLAG
- * D = DEFAULT DUMP FLAG
- * F = LONG TERM DUMP FLAG
- * S = SUD BYPASS FLAG
- * PEC = PROTOCOL ERROR COUNT
- * NPUNN = NPU NODE NUMBER
- * VAR-NAME = NPU VARIANT NAME
- * NCTOR = NODE CONNECTION TABLE ORDINAL
- * LSN = LOAD SEQUENCE NUMBER
- * NSTTSB = NPU STATUS TABLE TSB NUMBER
- * NATTSB = NPU ACTIVITY TABLE TSB NUMBER
- * N-NODE-NUMBERS = NEIGHBOR NODE NUMBERS
- * NCB-LENGTH = LENGTH OF NCB IN NPU WORDS
- * NCB-RSA = NCB RELATIVE SECTOR ADDRESS
- * ALF-PFN = ALTERNATE NLF PFN
- * DIR-TSB = ALTERNATE NLF DIRECTORY TSB NUMBER
- *
- *
- *E
- * 3.2 NPU ACTIVITY TABLE (NAT)
- *
- * NAT IS A DYNAMIC TABLE USED BY NS TO CO-ORDINATE
- * AND CONTROL ACTIVITY ON AN NPU. IT IS CREATED
- * WHEN AN ACTIVITY(NPU DUMP, NPU LOAD, OR SAM LOAD
- * BEGINS AND IS RELEASED WHEN THE ACTIVITY TERMINATES.
- * IT HAS THE FOLLOWING FORMAT:
- *
- *TEXT
- *T WORD+0 6/ID,12/S,12/NCT-ORD,3/-,3/EC,12/BPTR,12/FPTR
- *T WORD+1 8/RN,8/CN,8/PN,8/SPN,4/LSN,8/NO,1/-,1/N,1/L,1/R,3/RTC,1/-,7/ST
- *T WORD+2 4/-,8/BC,12/NDTSBN,12/PITSBN,12/PENDI,12/XPCBI
- *T WORD+3 4/DC,3/-,1/P,3/DBT,1/S,24/DIRP1,24/DIRP2
- *T WORD+4 30/CCRI,30/NCRI
- *T WORD+5 24/LTIMER,24/GTIMER,12/SMTSBN
- *T WORD+6 18/LDATE,18/LTIME,24/NDCB-FWA
- *ENDTEXT
- *
- * ID = NAT ID (3)
- * S = NAT SIZE
- * - = UNUSED
- * NCT-ORD = NODE CONNECTION TABLE ENTRY ORDINAL
- * EC = XPCB DIRECTIVE ERROR COUNT
- * BPTR = NAT LIST BACKWARD PTR
- * FPTR = NAT LIST FORWARD PTR
- * RN = LOAD REQUESTOR NODE NUMBER
- * CN = COUPLER NODE NUMBER
- * PN = PORT NUMBER
- * SPN = SUB PORT NUMBER
- * LSN = LOAD SEQUENCE NUMBER
- * A SEQUENCE NUMBER MAINTAINED BY NS
- * (USING MODULO 15) FOR EACH REMOTE NPU,
- * AND INCLUDED IN NPU/DT SUPERVISORY
- * MESSAGES OF A REMOTE NPU DUMP/LOAD SEQUENCE.
- * IT SERVES TO PREVENT RESPONSE SUPERVISORY
- * MESSAGES OF AN EARLIER ABORTED SEQUENCE
- * FROM INTERFERING WITH THE CURRENT ONE.
- * NO = NPU TABLE ENTRY ORDINAL FOR THE ACTIVE NPU
- * - = UNUSED
- * N = SAVE NPU DUMP FILE FLAG
- * L = SELF LOADING FLAG
- * R = REMOTE LOAD FLAG
- * RTC = NPU/DT/R RETRY COUNT
- * ST = NPU STATE
- * PRIMARY NPU STATE:
- * 1- LOADING SAM
- * 2- DUMPING NPU
- * 3- LOADING NPU
- * 4- DUMPING NDCB
- * SECONDARY NPU STATE:
- * 1- WAITING FOR LOAD RESPONSE
- * 2- WAITING FOR DUMP RESPONSE
- * 3- WAITING FOR START RESPONSE
- * 4- WAITING FOR LOAD NDCB RESPONSE
- * BC = BATCH COUNT
- * NDTSBN = TSB NUMBER OF DUMP TSB
- * PITSBN = TSB NUMBER OF PICB
- * PENDI = PICB INDEX OF END DIRECTIVE
- * XPCBI = CURRENT PICB DIRECTIVE INDEX
- * DC = DIRECTIVE CODE
- * P = SET IF DIRECTIVE IS PROCESSED
- * DBT = DUMP BLOCK TYPE
- * DIRP1 = DIRECTIVE PARAMETER 1
- * DIRP2 = DIRECTIVE PARAMETER 2
- * CCRI = CURRENT-RANDOM-INDEX OF CURRENT
- * RECORD BEING READ
- * NCRI = CURRENT-RANDOM-INDEX OF NEXT
- * READ TO BE READ
- * LTIMER = LOCAL RESPONSE TIMER (IN SECONDS)
- * GTIMER = GLOBAL RESPONSE TIMER (IN SECONDS)
- * SMTSBN = TSB NUMBER OF DUMP NDCB RESPONSE
- * LDATE = LOAD DATE IN PACKED BINARY
- * LTIME = LOAD TIME IN PACKED BINARY
- * NDCB-FWA = NDCB FWA IN NPU
- *
- *
- *E
- * 3.3 NPU STATUS TABLE (NST)
- *
- * THE NPU STATUS TABLE(NST) IS A VARIABLE-LENGTH DYNAMIC TABLE
- * CONTAINING THE MOST RECENT DUMP/LOAD STATUS OF AN NPU WHICH
- * HAS BEEN SERVICED BY NS. IT IS CREATED WHEN AN NPU ACTIVITY
- * IS INITIATED AND STAYS PERMANENTLY TO LOG ALL RELEVANT STATUS
- * INFORMATION ASSOCIATED WITH AN NPU ACTICITY. IT HAS THE
- * FOLLOWING FORMAT:
- *
- *TEXT
- *T WORD+0 6/NSTID,12/NST-SIZE,24/TIMER,2/L,8/NN,8/NORD
- *T WORD+1 36/L-DATE-TIME,24/-
- *T WORD+2 36/D-DATE-TIME,8/LC,16/NHALTC
- *T WORD+3 42/NDF-PFN,2/F,16/P-CONTENT
- *T WORD+4 60/EVENT-MESSAGE
- *ENDTEXT
- *
- * NSTID = NST ID (6)
- * NST-SIZE = NST SIZE
- * TIMER = TIMER FOR CHECKING MULTI LOADS
- * NN = NPU NODE NO
- * L-DATE-TIME = PACKED BINARY LOAD DATE/TIME
- * - = UNUSED
- * D-DATE-TIME = PACKED BINARY DUMP DATE/TIME
- * LC = LOAD COUNT
- * NHALTC = NPU HALT CODE IN HEX
- * NDF-PFN = NAME OF MOST RECENT DUMP FILE
- * F = LOAD FAILURE COUNT
- * P-CONTENT = NPU P-REGISTER CONTENTS
- * EVENT-MESSAGE = EVENT-MESSAGE TEXT(UP TO 6 WORDS)
- *
- *
- *E
- * 3.4 NODE CONNECTION TABLE (NCT)
- *
- * NCT IS NON-REMOVABLE AND IS BUILT AT NS INITIALIZATION
- * TIME FROM THE NCF-S PHYSICAL LINK CROSS REFERENCE
- * TABLE AND IS USED TO IDENTIFY AS
- * TO WHICH NPU AN INCOMING SM FOR AN NPU
- * DUMP/LOAD ACTIVITY RELATES. THE ADDRESSING INFORMATION
- * IN THE SM I.E. SOURCE NODE NUMBER IN APPLICATION BLOCK
- * HEADER AND PORT NUMBER IN SM, IS USED TO SEARCH THE
- * NCT TO IDENTIFY THE "ACTIVE" NEIGHBOR NPU NODE. NCT
- * ENTRIES CONTAINING A CURRENTLY "ACTIVE" NPU NODE ARE
- * QUEUED TO THE TOP OF THE LIST TO SPEED UP IDENTIFYING
- * TO WHICH "ACTIVE" NPU A RESPONSE SM RELATES. THE
- * ENTRIES ARE DEQUEUED FROM THE LIST AND
- * QUEUED TO THE BOTTOM OF THE LIST WHEN THE ACTIVITY TERMINATES.
- * THE NCT IS COMPRISED OF A 1-WORD HEADER AND 1-WORD
- * ENTRIES WHICH CAN BE EITHER A COUPLER-NODE ENTRY OR
- * AN NPU NODE ENTRY.
- *
- * NCT HEADER WORD FORMAT:
- *
- *TEXT
- *T 6/ID,12/EC,18/-,12/LISTTP,12/LISTHP
- *ENDTEXT
- *
- * ID = NCT ID
- * EC = NCT ENTRY COUNT
- * - = UNUSED
- * LISTTP = LIST TAIL POINTER
- * LISTHP = LIST HEAD POINTER
- *
- *
- * NCT ENTRY FORMAT:
- *
- *TEXT
- *T 8/NN,8/PN,8/SPN,8/NNN,3/-,1/N,12/LISTBP,12/LISTFP
- *ENDTEXT
- *
- * NN = NETWORK NODE NUMBER
- * COUPLER NODE NUMBER IF A COUPLER NODE ENTRY,
- * AND NPU NODE NUMBER IF A NPU NODE ENTRY.
- * PN = PORT NUMBER (NON-ZERO FOR NPU NODE ENTRY ONLY)
- * SPN = SUBPORT NUMBER
- * NNN = NEIGHBOR NPU NODE NUMBER
- * - = UNUSED
- * N = NEIGHBOR NPU ACTIVE FLAG
- * LISTBP = LIST BACKWARD POINTER
- * LISTFP = LIST FORWARD POINTER
- *
- *
- * APPLICATION BLOCK HEADER(ABH) FORMAT FOR NETWORK SM:
- *
- *TEXT
- *T 6/ABT,8/DN,8/SN,8/CN,4/BT,18/ ,8/CC
- *ENDTEXT
- *
- * ABT = SPECIAL APPLICATION BLOCK TYPE FOR NETWORK
- * SERVICE MESSAGES EXCHANGED BETWEEN CCP AND
- * CS/NS. VALUE = 4.
- * DN = DESTINATION NODE
- * SN = SOURCE NODE
- * CN = CONNECTION NUMBER
- * BT = BLOCK TYPE
- * CC = CHARCTER COUNT OF THE SERVICE MESSAGE TEXT
- *
- *
- *E
- * 3.5 HISTORY BUFFER
- *
- * HISTORY BUFFER IS A VARIABLE-LENGTH DYNAMIC FIFO BUFFER
- * USED BY NS TO LOG THE RECENT EVENT MESSAGES. IT IS
- * ALLOCATED AT NS INITIALIZATION TIME TO LOG THE
- * HEADLINES OF HISTORY DISPLAY, AND EXPANDS AS
- * HISTORY LINES ARE ADDED TO IT. UP TO 124 LINES
- * ARE ALLOWED IN THIS BUFFER.
- *
- * HEADER FORMAT:
- *
- *TEXT
- *T 6/ID,12/WC,12/LC,30/0
- *ENDTEXT
- *
- * ID = HISTORY BUFFER IDENTIFIER (2)
- * WC = NUMBER OF WORDS IN HISTORY BUFFER
- * LC = NUMBER OF LINES IN HISTORY BUFFER
- *
- *
- * HEADLINE 1: NAME AND VERSION OF NS IN DISPLAY CODE.
- * HEADLINE 2: VERSION (CREATION DATE AND TIME) OF NLF
- * IN DISPLAY CODE
- * HEADLINE 3: VERSION (CREATION DATE AND TIME) OF NCF
- * IN DISPLAY CODE.
- *
- * EACH EVENT MESSAGE (AND HEADLINE) IN THE HISTORY-BUFFER
- * IS COMPRISED OF A LINE HEADER, AND UP TO 58 DISPLAY CODE
- * CHARACTERS PLUS THE ZERO-BYTE LINE TERMINATOR.
- *
- *
- *E
- * 3.6 K-DISPLAY BUFFER
- *
- * K-DISPLAY BUFFER IS A VARIABLE LENGTH DYNAMIC
- * BUFFER USED BY NS TO STORE ANY OUTGOING MESSAGE
- * FOR THE NAM K-DISPLAY. A HEADER IS ALLOCATED AT
- * INITIALIZATION TIME AND THE BUFFER EXPANDS AS
- * OUTGOING MESSAGES ARE ADDED TO IT AND SHRINKS
- * AS THESE MESSAGES ARE SENT. A MAXIMUM OF 30
- * LINES (ONE K-DISPLAY PAGE) IS ALLOWED IN THE BUFFER.
- * EACH LINE IN THE K-DISPLAY BUFFER IS COMPRISED OF
- * A LINE HEADER AND UP TO 58 DIPLAY CODE CHARACTERS
- * PLUS THE ZERO-BYTE TERMINATOR.
- *
- * ITS HEADER FORMAT:
- *
- *TEXT
- *T 6/ID,12/WC,12/LC,30/-
- *ENDTEXT
- *
- * ID = IDENTIFIER (1)
- * WC = WORD COUNT
- * LC = LINE COUNT
- * - = UNUSED
- *
- *
- *E
- * 3.7 PAGE WAIT BUFFER
- *
- *
- * PAGE-WAIT-BUFFER IS A VARIABLE-LENGTH DYNAMIC FIFO
- * BUFFER USED BY NS TO STORE K-DISPLAY OUTPUT LINES
- * WHEN THE NAM K-DISPLAY IS IN PAGE-WAIT MODE.
- * IT IS INITIALLY ALLOCATED AS A ONE-WORD TSB
- * CONTAINING ONLY THE PAGE-WAIT-BUFFER HEADER WORD
- * WHEN NAM K-DISPLAY IS ASSIGNED TO NS, AND EXPANDS
- * AS K-DISPLAY OUTPUT LINES ARE ADDED TO IT. UP TO
- * 160 LINES IS ALLOWED. PAGE-WAIT BUFFER
- * IS RELEASED WHEN NS NO LONGER HAS THE NAM K-DISPLAY
- * ASSIGNED TO IT.
- * EACH LINE IN THE PAGE WAIT BUFFER IS COMPRISED OF
- * A LINE HEADER AND UP TO 58 DISPLAY CODE CHARACTERS
- * PLUS THE ZERO-BYTE TERMINATOR.
- *
- * ITS HEADER FORMAT:
- *
- *TEXT
- *T 6/ID,12/WC,12/LC,30/-
- *ENDTEXT
- *
- * ID = IDENTIFIER (7)
- * WC = CURRENT WORD COUNT
- * LC = CURRENT LINE COUNT
- * - = UNUSED
- *
- *
- *E
- * 3.8 NETWORK CONFIGURATION FILE (NCF)
- *
- * THE NCF IS A DIRECT ACCESS PERMANENT FILE USED BY NS.
- * ONLY THREE RECORDS FROM THE NCF ARE USED BY NS. AND
- * THEY ARE: 1) THE NPU CROSS REFERENCE TABLE,
- * 2) THE PHYSICAL LINK CROSS REFERENCE TABLE, AND
- *
- * 3) THE NETWORK CONFIGURATION BLOCK (NCB).
- *
- *E
- * 3.8.1 NPU CROSS REFERENCE TABLE
- *
- * THE NPU CROSS REFERENCE TABLE IS A RECORD ON THE
- * NETWORK CONFIGURATION FILE WHICH IS USED TO ASSOCIATE AN
- * NPU NAME WITH ITS NODE NUMBER AND VARIANT NAME. THERE
- * IS A 2-WORD ENTRY IN THE TABLE FOR EACH NPU.
- *
- *TEXT
- *T WORD+0 42/"NPUXREF",18/0
- *T WORD+1 48/-,12/WC
- *T WORD+2 42/NPUNAME,1/G,1/D,8/-,8/NID
- *T WORD+3 36/VNAME,24/-
- *ENDTEXT
- *
- * - = UNUSED
- * WC = NUMBER OF WORDS IN THIS TABLE
- * NPUNAME = NPU NAME
- * G = OPERATOR GO REQUIRED FLAG
- * D = LONG TERM NPU DUMP FLAG
- * NID = NPU NODE ID
- * VNAME = NPU VARIANT NAME
- *
- *
- *E
- * 3.8.2 PHYSICAL LINK CROSS REFERENCE TABLE
- *
- *
- * THE PHYSICAL LINK CROSS REFERENCE TABLE IS A
- * RECORD ON THE NETWORK CONFIGURATION FILE WHICH IS
- * USED TO INDICATE THE PHYSICAL ELEMENTS(COUPLER AND
- * TRUNK) OF A NETWORK. THERE IS A 2-WORD ENTRY IN THE
- * TABLE FOR EACH COUPLER OR TRUNK.
- * THE TABLE HAS THE FOLLOWING FORMAT:
- *
- *TEXT
- *T WORD+0 42/"PHYLINK",18/0
- *T WORD+1 48/-,12/WC
- *T WORD+2 42/PLNAME,1/T,1/E,8/NUMBER,8/NID
- *T WORD+3 42/PLHNAME,1/S,1/L,8/P2PN,8/N2NID
- *ENDTEXT
- *
- * WC = NUMBER OF WORDS IN TABLE
- * PLNAME = COUPLER/TRUNK NAME
- * T = LINK TYPE: 0=COUPLER, 1=TRUNK
- * E = ENTRY STATE.
- * FOR COUPLER ENTRY:
- * 0 - PRIMARY COUPLER
- * 1 - SECONDARY COUPLER
- * FOR TRUNK ENTRY:
- * 0 - NOLOAD NOT SPECIFIED
- * 1 - NOLOAD SPECIFIED
- * NUMBER = FOR COUPLER ENTRY:
- * HOST NODE NUMBER
- * FOR TRUNK ENTRY:
- * N1 NODE NUMBER
- * NID = NODE ID/NUMBER
- * PLHNAME = HOST NUMBER OF THIS COUPLER
- * S = TRUNK STATUS: 0-ENABLED, 1-DISABLED
- * P2PN = P2 PORT NUMBER
- * N2NID = N2 NODE ID/NUMBER
- *
- *
- *E
- * 3.9 NETWORK DUMP FILE (NDF)
- *
- * THE NPU-DUMP-FILE (NDF) IS A SINGLE-RECORD SEQUENTIAL FILE
- * CREATED BY NS AS A DIRECT ACCESS PERMANENT FILE DURING AN
- * NPU DUMP PROCEDURE. NS USES THE FOLLOWING CONSTRAINED
- * NAMING SCHEME TO GENERATE A 7-CHARACTER PERMANENT FILE
- * NAME FOR THE NPU DUMP FILE:
- *
- * NP(DN)(NIN)
- *
- * DN = A 2-DIGIT HEXADECIMAL DUMP NUMBER WHOSE INITIAL
- * VALUE IS DETERMINED BY NS AT INITIALIZATION TIME
- * BY SEARCHING THE PERMANENT FILE CATALOG FOR THE
- * FIRST AVAILABLE DUMP NUMBER.
- * THE NUMBER IS CONSECUTIVELY ASSIGNED WHEN
- * NPU DUMP FILES ARE CREATED.
- * NIN = A 3-DIGIT DECIMAL NETWORK INVOCATION NUMBER
- * WHICH IS PASSED TO NS AS A CONTROL STATEMENT
- * PARAMETER.
- *
- * THE NDF IS WRITTEN AS A SINGLE-RECORD SEQUENTIAL FILE
- * WITH A PREFIX TABLE FOLLOWED BY MULTIPLE CONTIGUOUS
- * NPU DUMP BLOCKS(NDB). EACH NDB MAY CONSIST OF UP TO
- * 64 DUMP PACKETS EACH OF WHICH MAY CONTAIN UP TO 105 NPU
- * WORDS. THE DUMP-PACKETS WITHIN AN NDB ARE NOT NECESSARILY
- * ARRANGED IN ASCENDING ORDER.
- *
- * THE NDF FORMAT:
- *
- *TEXT
- *T 60/ PREFIX TABLE
- *T 60/ DUMP BLOCK HEADER
- *T 60/ DUMP PACKET 1
- *T 60/ .
- *T 60/ .
- *T 60/ .
- *T 60/ .
- *T 60/ DUMP PACKET N (UP TO 64)
- *T 60/ .
- *T 60/ .
- *T 60/ .
- *T 60/ .
- *T 60/ NPU DUMP BLOCK M
- *T 60/ EOR
- *T 60/ EOF
- *ENDTEXT
- *
- *
- *
- * THE PREFIX TABLE HAS THE FOLLOWING FORMAT:
- *
- *TEXT
- *T WORD+0 12/"7700",12/"0020",36/0
- *T WORD+1 42/NDFPFN,18/0
- *T WORD+2 60/ DATE
- *T WORD+3 60/ TIME
- *T WORD+4 60/ OPS
- *T WORD+5 42/ PRNAME,18/ PRVER
- *T WORD+6 30/ PRLEV,30/-
- *T WORD+7 60/
- *T WORD+8 60/ TITLE
- *T WORD+15 42/ NPUNAME,1/0,17/NPUPREG
- *T WORD+16 36/ NPUVAR,12/NPUID,12/NPUHALT
- *ENDTEXT
- *
- * NDFPFN = NDF PERMANENT FILE NAME
- * DATE = DATE THE FILE WAS CREATED, LEFT JUSTIFIED
- * WITH BLANK FILLED
- * TIME = TIME THE FILE WAS CREATED, LEFT JUSTIFIED
- * WITH BLANK FILLED
- * OPS = NAME AND VERSION NUMBER OF THE OPERATING
- * SYSTEM UNDER WHICH THE FILE WAS CREATED
- * PRNAME = NAME OF THE PROGRAM THAT CREATED THE FILE
- * PRVER = VERSION OF THE PROGRAM THAT CREATED THE FILE
- * PRLEV = MODIFICATION LEVEL OF THE PROGRAM THAT CREATED
- * THE FILE
- * TITLE = TITLE FO THE FILE. 70 CHARACTERS OR LESS.
- * NPUNAME = NPU NAME
- * NPUPREG = CONTENT OF NPU P-REGISTER
- * NPUVAR = NPU VARIANT NAME
- * NPUID = NPU NODE ID
- * NPUHALT = NPU HALT CODE IN HEXADECIMAL DIGIT
- *
- * EACH NPU DUMP BLOCK(NDB) HAS A HEADER WITH THE FOLLOWING
- * FORMAT:
- *
- *TEXT
- *T 3/BT,9/BC,24/BA,24/EA
- *ENDTEXT
- *
- * BT = DUMP BLOCK TYPE
- * 1- BASE FILE 1 REGISTERS
- * 2- BASE FILE 2 REGISTERS
- * 4- MACROMEMORY
- * BC = BATCH COUNT
- * NUMBER OF DUMP PACKETS IN NPU DUMP BLOCK
- * BA = FWA OF NPU MEMORY DUMP BLOCK
- * EA = LWA OF NPU MEMORY DUMP BLOCK
- *
- * NPU DUMP PACKET FORMAT:
- *
- *TEXT
- *T 12/WC,12/HC,12/0,24/BA
- *T 16/NPU WORD 0,16/NPU WORD 1,16/NPU WORD 2,12/ETC
- *T 60/ .
- *T 60/ .
- *T 60/ UP TO 105 WORDS
- *T 60/ .
- *T 60/ .
- *ENDTEXT
- *
- * WC = NUMBER OF WORDS IN PACKET
- * HC = NUMBER OF HEX WORDS IN PACKET
- * BA = FWA OF NPU MEMORY IN PACKET
- *
- *
- *E
- * 3.10 NETWORK LOAD FILE (NLF)
- *
- * THE NLF CONTAINS ONE OR MORE LOGICAL RECORDS OF THE
- * FOLLOWING CCP CODE ENTITIES FOR ALL THE NPUS IN THE
- * NETWORK THAT CAN BE LOADED BY A GIVEN NS:
- *
- * - PICB(S) PROGRAM INITIATION CONTROL
- * BLOCK WHICH CONTAINS DIRECTIVES
- * FOR NPU DUMP/LOAD PROCEDURE.
- *
- * - CCP LOAD MODULE(S) MICROMEMORY CODE, MACROMEMORY
- * CODE, STARTUP DIAGNOSTIC, SYSTEM
- * AUTOSTART MODULE OR DUMP BOOTSTRAP.
- *
- * - CCP OVERLAY MODULE(S) DUMP/LOAD OVERLAY FOR REMOTE
- * NPU DUMP/LOAD OR DIAGNOSTIC OVERLAYS.
- *
- * THE NLF IS ORGANIZED AS A RANDOM ACCESS FILE WITH AN OPLD.
- * THE FIRST RECORD OF EACH CCP CODE ENTITY HAS AN ENTRY IN
- * THE OPLD, WHILE THE REMAINING RECORDS, IF ANY, ARE ACCESSED
- * SEQUENTIALLY AND DO NOT HAVE CORRESPONDING ENTRIES IN THE OPLD.
- *
- *
- * NLF OPLD
- *
- * +-----------------+ +------------+
- * I HEADER RECORD I I HEADER I
- * +-----------------+ +------------+
- * I EOR I +--------+ ENTRY 1 I
- * +-----------------+ I +------------+
- * ICCP CODE ENTITY 1I<----------+ I-----+ ENTRY 2 I
- * I RECORD 1 I I +------------+
- * +-----------------+ I I . I
- * I EOR I I I . I
- * +-----------------+ I I . I
- * I . I I +------------+
- * I . I I +-+ ENTRY N I
- * I . I I I +------------+
- * +-----------------+ I I I I
- * ICCP CODE ENTITY 1I I I +------------+
- * I RECORD N I I I
- * +-----------------+ I I
- * I EOR I I I
- * +-----------------+ I I
- * I PICB X I<-------------+ I
- * I FOR NPU LOAD I I
- * I VARIANT X I I
- * +-----------------+ I
- * I EOR I I
- * +-----------------+ I
- * ICCP CODE ENTITY NI<-----------------+
- * I RECORD 1 I
- * +-----------------+
- * I . I
- * I . I
- * I . I
- * +-----------------+
- * I OPLD I
- * +-----------------+
- * I EOR I
- * +-----------------+
- * I EOF I
- * +-----------------+
- * I EOI I
- * +-----------------+
- *
- * THE HEADER RECORD CONTAINS THE "7700" TABLE. FOR
- * THE LAYOUT OF IT, REFER TO THE NDF.
- *
- * NS READS THE PICB DIRECTIVES.
- * EACH PICB HAS THE FOLLOWING FORMAT:
- *
- *
- * 5 2
- * 9 4 0
- * +---------------------+--------------+
- * I RNAME I 0 I
- * +---------------------+--------------+
- * I LSPCB I LLPCB I LDPCB I NDCB ADRI
- * +------------------------------------+
- * I "DPCB" I
- * +------------------------------------+
- * I DPCB DIRECTIVES I
- * I I
- * I I
- * I I
- * I I
- * I I
- * +------------------------------------+
- * I END DIRECTIVE I
- * +------------------------------------+
- * I "LPCB" I
- * +------------------------------------+
- * I LPCB DIRECTIVES I
- * I I
- * I I
- * I I
- * I I
- * +------------------------------------+
- * I END DIRECTIVE I
- * +------------------------------------+
- * I "SPCB" I
- * +------------------------------------+
- * I SPCB DIRECTIVES I
- * I I
- * I I
- * I I
- * I I
- * +------------------------------------+
- * I END DIRECTIVE I
- * +------------------------------------+
- *
- * RNAME = RECORD NAME, SAME AS NPU LOAD VARIANT NAME,
- * DISPLAY-CODED, LEFT-JUSTIFIED AND ZERO-FILLED.
- * LSPCB = SIZE OF SPCB
- * LLPCB = SIZE OF LPCB
- * LDPCB = SIZE OF DPCB
- * NDCB = ADDRESS OF NPU DUMP CONTROL BLOCK IN NPU MEMORY
- * DPCB = DUMP PROCEDURE CONTROL BLOCK
- * LPCB = LOAD PROCEDURE CONTROL BLOCK
- * SPCB = SAM-LOAD PROCEDURE CONTROL BLOCK
- *
- *
- *E
- * 4.0 OVERVIEW
- *
- * A SMALL BOOTSTRAP PROGRAM (SAM-P) IS INITIATED IN THE NPU
- * TO COMMUNICATE THE REQUEST FOR INITIALIZATION TO A NETWORK
- * NEIGHBOR COMPONENT (NPU OR PIP). A NEIGHBOR NPU OR PIP
- * SENDS A REQUEST FOR NPU INITIALIZATION (NPU/IN) TO THE NS
- * PROGRAM OF ANY ACCESSIBLE HOST.
- *
- * NS DETERMINES IF A DUMP IS TO BE TAKEN, CONTROLS THE DUMP
- * PROCESS IF REQUESTED, CONTROLS THE LOAD PROCESS AND ISSUES
- * THE ORDER TO START THE NEWLY LOADED SOFTWARE.
- *
- * DUMP AND LOAD DATA IS EXCHANGED BETWEEN NS AND SAM-P BY
- * MEANS OF NPU DATA SERVICE MESSAGES (NPU/DT). NS WRITES
- * THE DUMP DATA TO A NETWORK DUMP FILE (NDF) AND READS LOAD
- * DATA FROM THE NETWORK LOAD FILE (NLF). NDF AND NLF ARE
- * PERMANENT FILES ON THE HOST-S MASS STORAGE DEVICE. NDF IS
- * LATER PROCESSED BY THE NETWORK DUMP ANALYZER (NDA) WHILE
- * NLF MUST HAVE BEEN CREATED PREVIOUSLY BY THE NETWORK LOAD
- * FILE GENERATOR (LFG). NDA AND LFG ARE BATCH UTILITY
- * PROGRAMS PROVIDED FOR NETWORK SUPPORT.
- *
- * ALSO GENERATED BY A BATCH RUN OF THE NETWORK DEFINITION
- * LANGUAGE (NDL) PROCESSOR IS THE NETWORK CONFIGURATION FILE
- * (NCF). BESIDES OTHER INFORMATION USED BY THE COMMUNICATION
- * SUPERVISOR (CS), IT CONTAINS A PREFORMATTED NPU CONFIGURATION
- * BLOCK (NCB) FOR EACH NPU TO BE LOADED. THE PROPER NCB IS
- * SELECTED AND APPENDED TO THE LOAD DATA BY NS DURING THE
- * LOAD PROCESS. SEE NDLP IMS FOR A DESCRIPTION OF THE NCB.
- *
- * ONCE SUCCESSFULLY LOADED, THE NEWLY LOADED NPU IS STARTED.
- * THE NPU USES THE NCB INFORMATION TO SET ITS NODE NUMBER AND
- * TO CREATE VARIOUS CONTROL BLOCKS AND ROUTING TABLES WHICH
- * DEFINE THE LINKS TO THE HOST(S) AND TO THE OTHER NPUS AS
- * WELL AS THE PATH(S) TO A CS.
- *
- *
- *E
- * 4.1 INITIATION OF LOCAL NPU DUMP/LOAD PROCESS BY SAM
- *
- * IF THE NPU IS EQUIPPED WITH A SAM-C BOARD, ALL LOAD/DUMP
- * REQUESTS MUST BE INITIATED BY THE SAM BOOTSTRAP PROGRAM.
- * REQUESTS VIA A COUPLER ARE MADE BY SETTING THE
- * "INITIALIZATION" STATUS CODE INTO THE NPU STATUS WORD
- * REGISTER OF THE COUPLER. THE NEIGHBOR COMPONENT IS THE
- * PERIPHERAL PROCESSOR INTERFACE PROGRAM (PIP).
- * A PIP, SENSING SUCH AN NPU REQUEST FOR INITIALIZATION,
- * FORWARDS THE REQUEST TO NS IN THE FORM OF AN NPU/IN/C
- * (NPU INITIALIZATION SM COMMAND).
- *
- *
- *E
- * 4.2 INITIATION OF LOCAL NPU DUMP/LOAD PROCESS BY PIP
- *
- * FOR NPUS WITHOUT SAM-C BOARDS, PIP MAINTAINS AN NPU DEAD
- * TIMER. THIS TIMER IS RESTARTED AFTER EVERY SUCCESSFUL
- * DIALOGUE WITH THE NPU. A PERIODIC "IDLE" DIALOGUE IS FORCED
- * IN ABSENCE OF ANY DATA EXCHANGES. IF THE DEAD TIMER EXCEEDS
- * 20 SECONDS, PIP ASSUMES THE NPU HAS FAILED. IT ISSUES AN
- * NPU/IN/C (B) (NPU INITIALIZATION SM REQUEST FOR SAM-P
- * BOOTSTRAP) TO NS.
- *
- * THE NPU/IN/C (B) CAUSES NS TO INITIATE THE LOAD OF THE SAM-P
- * BOOTSTRAP INTO THE NPU. THE BOOTSTRAP IS FOUND ON THE NLF
- * AS PREFORMATTED 105-NPU-WORD SEGMENTS WHICH ARE SENT TO PIP
- * AS NPU/DT/R (L) SERVICE MESSAGES. THESE SEGMENTS ARE SENT
- * IN BATCHES, WHERE THE BATCH COUNT PARAMETER IN THE LAST
- * SEGMENT CAUSES AN NPU/DT/N (L) RESPONSE FROM PIP.
- *
- * LOADING OF SAM-P BY NS IS CONTROLLED BY THE SPCB (SAM-LOAD
- * PROCEDURE CONTROL BLOCK). THIS SPCB IS CONTAINED IN THE
- * PICB (PROGRAM INITIATION CONTROL BLOCK) FOR THE NPU IN
- * THE NETWORK LOAD FILE (NLF).
- *
- *
- *E
- * 4.3 REMOTE NPU DUMP/LOAD PROCESS
- *
- * A NEIGHBOR NPU, SENSING A REMOTE NPU REQUEST FOR
- * INITIALIZATION VIA THE CDCCP TRUNK PROTOCOL, SENDS
- * AN NPU/IN/R (NPU INITIALIZATION SM REQUEST) TO NS.
- * NS DISTINGUISHES A REMOTE NPU DUMP/LOAD REQUEST FROM
- * A LOCAL NPU DUMP/LOAD REQUEST VIA THE APPLICATION
- * BLOCK HEADE ID R WORD OF THE NPU/IN. A SOURCE NODE ID (SN)
- * EQUALS THE DESTINATION NODE ID (DN) WOULD INDICATE
- * A REQUEST FOR A LOCAL NPU DUMP/LOAD. NS DETERMINES
- * THE REMOTE NPU THAT NEEDS THE INITIALIZATION FROM THE
- * SOURCE NODE ID OF THE APPLICATION BLOCK HEADER OF
- * NPU/IN/R AND FROM THE PORT NUMBER SPECIFIED AS A PARAMETER
- * IN NPU/IN/R. THIS DETERMINATION IS ACCOMPLISHED BY
- * SEARCHING THE NODE CONNECTION TABLE (NCT).
- *
- * NS THEN MAKES SURE THAT IT DOES NOT ALREADY HAVE AN NPU
- * ACTIVITY CONTROL BLOCK (NAT) FOR THIS NPU. IF THERE IS
- * ALREADY AN NAT, THE PREVIOUS ACTIVITY IS ABORTED. NS
- * THEN INCREMENTS THE LOAD SEQUENCE NUMBER (LSN) IT MAINTAINS
- * FOR THIS NPU. THE LSN IS INCLUDED IN NPU/DT MESSAGES AND
- * SERVES TO PREVENT MESSAGES OF AN EARLIER LOAD SEQUENCE FROM
- * INTERFERING WITH A CURRENT ONE.
- *
- * THE PROCESS CONTINUES WITH THE DETERMINATION OF WHETHER OR
- * NOT A DUMP SHALL BE TAKEN, FOLLOWED BY THE DUMP SM SEQUENCE
- * IF APPLICABLE AND WITH THE LSN. ALL ACTIONS ARE DICTATED BY
- * NS, THE NEIGHBOR NPU MUST ONLY PASS THE VARIOUS NPU/DT/R
- * (NPU DATA SM REQUESTS) TO SAM IN THE REMOTE NPU AND PASS
- * NPU/DT/N RESPONSES FROM SAM IN THE REMOTE NPU TO NS AS
- * DESCRIBED IN MORE DETAIL IN SECTIONS 4.4 AND 4.5.
- *
- * THE LOAD/DUMP PROCESS IS TERMINATED BY NS ONCE THE NPU
- * SOFTWARE HAS BEEN SUCCESSFULLY LOADED AND STARTED OR
- * WHEN, DUE TO AN UNRECOVERABLE FAILURE, IS UNABLE TO
- * CONTINUE. IN BOTH TERMINATION CASES, THE NAT IS RELEASED
- * AND THE NEIGHBOR NPU IS NOTIFIED BY A NPU/IN/N (NPU
- * INITIALIZATION SM NORAML RESPONSE).
- *
- *
- *E
- * 4.4 DUMP PROCEDURE
- *
- * 4.4.1 DUMP DECISION
- *
- * THE FIRST DECISION NS MUST MAKE AFTER IT HAS RECEIVED AN
- * NPU/IN/R IS TO DETERMINE WHETHER OR NOT A DUMP SHALL BE
- * TAKEN. THIS DECISION IS DEPENDANT ON FOUR VARIABLE:
- *
- * 1) THE "RELOAD DUMP FLAG" OBTAINED FROM THE NDCB IN NPU
- * MEMORY. WHENEVER THIS FLAG IS SET TO EITHER "YY" OR
- * "NN", NS CAN ASSUME IT IS OBEYING AN OPERATOR "LOAD"
- * COMMAND, AND WILL THEREFORE OBEY THE "YY" OR "NN"
- * DIRECTION WITHOUT FURTHER CONSIDERATIONS.
- *
- * 2) THE LENGTH OF TIME SINCE THE NEXT-TO-LAST LOAD OF THIS
- * NPU BY THIS NS. EXCEPT FOR THE OPERATOR "LOAD" COMMANDS,
- * NS WILL ATTEMPT TO PREVENT FLOODS OF DUMPS FROM AN
- * OSCILLATING NPU. THIS WILL BE ACCOMPLISHED BY INHIBITING
- * DUMPS AFTER MORE THAN TWO LOAD REQUESTS ARE RECEIVED FROM
- * AN NPU IN 8 MINUTES. THIS WILL STILL GIVE OPPORTUNITY TO
- * OBTAIN ONE DUMP FROM AN NPU THAT COMES DOWON AS SOON AS
- * IT IS LOADED, WHILE STOPPING THE SUBSEQUENT FLOOD THAT CAN
- * OCCUR UNTIL AN OPERATOR DISABLES A COUPLER OR A TRUNK.
- *
- * 3) A "NETWORK STARTUP MODE" PARAMETER (FDP) THAT IS ENTERED
- * BY THE HOST OPERATOR WHEN THE HOST NETWORK SOFTWAE IS
- * STARTED. IN ADDITION TO THE "NORMAL" MODE OF OPERATION,
- * NS WILL RECOGNIZE "FORCE DUMP" AND "INHIBIT DUMP" MODES,
- * WHEN IT IS STARTED. (THESE ARE GLOBAL FOR NS, AND NOT
- * ON AN INDIVIDUAL NPU BASIS). NS WILL RESET THE MODE BACK
- * TO "NORMAL" 10 MINUTES AFTER IT IS STARTED.
- *
- * 4) THE "LONG TERM DUMP FLAG" OBTAINED FROM THE NDCB IN
- * NPU MEMORY.
- *
- * THE RULES BY WHICH NS WILL MAKE THE DECISION ON WHETHER OR
- * NOT TO DUMP ARE SUMMARIZED IN THE FOLLOWING DECISION TABLE:
- *
- *
- * NS RULES FOR NPU DUMPING
- * ------------------------
- *
- * CONDITIONS I1 2 3 4 5 6 7 8 9 10 11 12
- * -------------------------+-----------------------------------
- * "RELOAD" DUMP FLAG IYY NN G G G G 0 0 0 0 0 0
- * I
- * -------------------------+-----------------------------------
- * THIS NPU LOADED TWICE BY I- - Y N N N Y N N N N N
- * THIS NS IN LAST 8 MIN I
- * -------------------------+-----------------------------------
- * STARTUP MODE I- - - D ND NM - D ND NM NM NM
- * I
- * -------------------------+-----------------------------------
- * LONG TERM DUMP FLAG I- - - - - - - - - YY NN G
- * I
- * -------------------------+-----------------------------------
- * ACTION: DUMP IY N N Y N Y N Y N Y N Y
- *
- * - = ANY VALUE
- * G = GARBAGE
- * NM = NORMAL MODE
- * D = FORCED DUMP MODE
- * ND = INHIBIT DUMP MODE
- *
- *E
- * 4.4.2 DUMP SM SEQUENCE
- *
- * AN NPU DUMP PROCEDURE IS DICTATED BY DIRECTIVES SPECIFIED
- * IN THE DUMP PROCEDURE CONTROL BLOCK (DPCB). NS WOULD
- * ISSUE NPU/DT/R (D) (NPU DUMP DATA SM REQUESTS) AS SPECIFIED
- * IN THE DPCB.
- *
- * EACH ENTRY IN THE DPCB REQUESTING THE TRANSMITTAL OF A
- * BLOCK WHICH EXCEEDS 105 NPU WORDS (OF 16 BITS) IS DIVIDED
- * INTO A BATCH OF NPU/DT/R (D) SERVICE MESSAGES. EACH OF
- * THESE SERVICE MESSAGES EITHER CARRIES UP TO 105 WORDS OF
- * LOAD DATA OR REQUESTS A DUMP OF 105 WORDS OR LESS. THUS
- * A DPCB REQUEST FOR A LARGE DUMP DATA BLOCK WILL CAUSE NS
- * TO GENERATE MULTIPLE NPU/DT/R (D) REQUESTS, EACH ASKING
- * FOR A MAXIMUM OF 105 WORDS TO BE RETURNED IN AN NPU/DT/N
- * (D) RESPONSE.
- *
- * AN ABNORMAL RESPONSE FROM THE NPU FOR A LOAD BATCH OR DUMP
- * SERVICE MESSAGE WILL CAUSE NS TO ABORT THE DUMP PROCEDURE.
- *
- * A DPCB DIRECTIVE CAN BE USED TO INDICATE TO NS WHEN ENOUGH
- * OF THE DUMP PROCESS HAS BEEN COMPLETED TO MAKE IT WORTH
- * WHILE TO SAVE THE DUMP FILE BEING CREATED. THIS INDICATION
- * IS FLAGGED BY NS IN THE NAT. ANY UNRECOVERABLE FAILURE OR
- * A REPEATED NPU/IN/R BEFORE THE FLAG IS SET CAUSES NS TO EVICT
- * THE PARTIAL NDF. ANY SUCH INTERRUPTION AFTER THE FLAG HAS SET
- * OR SUCCESSFUL COMPLETION OF THE FULL DUMP PROCEDURE CAUSES
- * NS TO DISPOSE THE NDF AS A PERMANENT FILE.
- *
- * DUMP SM SEQUENCE
- * ----------------
- *
- * CCP/PIP NS
- * (FETCH/CHOOSE DPCB)
- *
- * -> N * NPU/DT/R (D)
- * I ------------------<--<--<--<--<--
- * I I
- * PHASE I N * NPUIDTIN (D) I
- * 1 I <----------------->-->-->-->-->------> TO NDF
- * I I
- * I I
- * -> I
- * I N * NPU/DT/R (L) I
- * I <-----------------<--<--<--<--<--<---- FROM NLF
- * I I
- * I NPU/DT/N (L) I
- * I -------------------------------->
- * I I
- * PHASE I I
- * 2 I NPU/DT/R (S) I
- * I <--------------------------------
- * I
- * I NPU/DT/N (S)
- * I -------------------------------->
- * I I
- * -> I
- * I N * NPU/DT/R (D) I
- * I <-----------------<--<--<--<--<--
- * I I
- * PHASE I N * NPUIDTIN (D) I
- * 3 I ------------------>-->-->-->-->------> TO NDF
- * I I
- * I I
- * I I
- * -> I
- * V
- *
- * WHERE: 0<N<=64
- * PHASE 1 = MACROMEMORY DUMP
- * PHASE 2 = DUMP BOOTSTRAP LOAD
- * PHASE 3 = MICROMEMORY DUMP
- *
- *
- *E
- * 4.5 LOAD PROCEDURE
- *
- * THE LOAD PROCEDURE IS STARTED EITHER DIRECTLY AFTER NS
- * HAS RECEIVED A NPU/IN/R AND HAS DETERMINED THAT NO DUMP
- * SHALL BE TAKEN OR AFTER THE DUMP PROCEDURE HAS
- * TERMINATED, SUCCESSFULL OR NOT.
- *
- * A TYPICAL LOAD PROCEDURE IN ITSELF CONSISTS OF THREE
- * DISTINCT ACTIVITIES:
- *
- * 1) LOADING THE CCP SOFTWARE. (THIS PART MAY BE OMITTED
- * FOR SELF-LOADING NPUS).
- *
- * 2) LOADING THE NPU-CONFIGURATION-BLOCK (NCB) FROM THE NCF
- * INTO NPU MEMORY. (MAY OMITTED FOR SELF-CONFIGURING NPUS)
- *
- * 3) RE-WRITING THE NDCB BACK INTO NPU MEMORY, AND STARTING
- * THE NPU.
- *
- *E
- * 4.5.1 LOAD SM SEQUENCE
- *
- * NS CONTROLS THE LOAD SM SEQUENCE AS SPECIFIED IN THE LPCB,
- * NPU/DT/R (NPU DATA SM REQUESTS) ARE USED FOR ALL DATA
- * COMMUNICATIONS AND TO TRANSMIT THE START COMMANDS.
- *
- * LOAD DATA IS SENT IN SEGMENTS OF MAXIMUM 105 NPU WORDS AS
- * PREFORMATTED ON THE NLF. MANY SEGMENTS, EACH CONTAINED IN
- * AN NPU/DT/R (L) SERVICE MESSAGE MAY BE SENT AS A BATCH.
- * THE LAST NPU/DT/R (L) SEGMENT OF THE BATCH MUST CONTAIN
- * THE BATCH COUNT (BC) PARAMETER WHICH CAUSES THE NPU TO
- * RETURN AN NPU/DT/N (L) OR AN NPU/DT/A (L) RESPONSE. BATCH
- * COUNT VALUE IS CURRENTLY SET AT 64. NS WILL ABORT THE LOAD
- * PROCEDURE IF THE RESPONSE IS ABNORMAL.
- *
- * AFTER ALL LOAD DATA ENTRIES AND BEFORE THE ENTRY REQUESTING
- * THAT CCP BE STARTED, THE LPCB FOR A NON-SELF-CONFIGURING NPU
- * MUST CONTAIN AN ENTRY THAT REQUESTS A LOAD OF THE NCB FROM
- * THE NCF. THIS ENTRY ALSO CONTAINS THE MAXIMUM ALLOWABLE
- * NCB SIZE IN 16-BIT WORDS, WHICH NS USES TO CHECK THE SIZE OF
- * THE NCB. THE LOAD IS ABORTED IF THE NCB IS TOO LARGE,
- * OTHERWISE IT IS LOADED VIA AN NPU/DT/R (L) AND WHEN THIS
- * IS ACKNOWLEDGED, THE START COMMAND IS TRANSMITTED. THE
- * STARTED CCP BEGINS ITS INITIALIZATION. NS DOES NOT EXPECT
- * A RESPONSE TO THIS START MESSAGE. THE LOAD PROCEDURE IS
- * NOW COMPLETED AND NAT IS RELEASED.
- *
- * LOAD SM SEQUENCE
- * ----------------
- *
- * CCP/PIP NS
- * (FETCH/CHOOSE LPCB)
- *
- *
- * -> N * NPU/DT/R (L)
- * I <-----------------<--<--<--<--<-+<---- FROM NLF
- * I I
- * I I
- * I NPU/DT/N (L) I
- * I -------------------------------->
- * I I
- * PHASE I NPU/DT/R (S) I
- * 1 I <--------------------------------
- * I I
- * I NPU/DT/N (S) I
- * I -------------------------------->
- * I I
- * -> I
- * I N * NPU/DT/R (L) I
- * I <-----------------<--<--<--<--<--<---- FROM NLF
- * I I
- * I NPU/DT/N (L) I
- * I -------------------------------->
- * I I
- * I I
- * I N * NPU/DT/R (L) I
- * I <-----------------<--<--<--<--<--<---- FROM NCF
- * I
- * PHASE I NPU/DT/N (L)
- * 2 I -------------------------------->
- * I I
- * I I
- * I NPU/DT/R (L) I
- * I <--------------------------------<---- NDCB IMAGE
- * I
- * I NPU/DT/N (L)
- * I -------------------------------->
- * I I
- * I NPU/DT/R (S) I
- * -> <--------------------------------
- *
- * WHERE: 0<N<=64
- * PHASE 1 = MICROMEMORY LOAD
- * PHASE 2 = MACROMEMORY LOAD
- *
- *
- *E
- * 4.6 NS STATE TABLE (DUMP/LOAD)
- *
- * THE NPU DUMP/LOAD ACTIVITY IS STATE TABLE DRIVEN.
- *
- *
- * 4.6.1 NS STATE DIAGIAM
- *
- * NS STATE DIAGIAM
- * ----------------
- *
- *
- * ---------------------+----------+----------+----------+----------+
- * STIMULUS (CODE) I (0)I (1)I (2)I (3)I
- * _____________________I NPU/IN/C INPU/IN/R,CI NPU/DT/N I NPU/DT/A I
- * NPU-STATE I (SAM I (NPU I (DUMP) I (DUMP) I
- * (PRIMARY STATE) I LOAD) I LOAD) I I I
- * SECONDARY STATE) I I I I I
- * ---------------------+----------+----------+----------+----------+
- * IDLE 0 I NS$N00 I NS$N00 I E I E I
- * I I I I I
- * ---------------------+----------+----------+----------+----------+
- * WAITING FOR DUMP 1 I PCA I PCA I NS$N04 I NS$DAR I
- * NDCB RESPONSE I I I I I
- * ---------------------+----------+----------+----------+----------+
- * (LOAD) 2 I PCA I PCA I E I E I
- * WAITING FOR LOAD I I I I I
- * SUD RESPONSE I I I I I
- * ---------------------+----------+----------+----------+----------+
- * (LOAD) 3 I PCA I PCA I E I E I
- * WAITING FOR START I I I I I
- * SUD RESPONSE I I I I I
- * ---------------------+----------+----------+----------+----------+
- * (LOAD) 4 I PCA I PCA I NS$N05 I NS$DAR I
- * WAITING FOR DUMP I I I I I
- * SUD RESPONSE I I I I I
- * ---------------------+----------+----------+----------+----------+
- * (LOAD) 5 I PCA I PCA I E I E I
- * WAITING FOR LOAD I I I I I
- * RESPONSE I I I I I
- * ---------------------+----------+----------+----------+----------+
- * (LOAD) 6 I PCA I PCA I E I E I
- * WAITING FOR START I I I I I
- * RESPONSE I I I I I
- * ---------------------+----------+----------+----------+----------+
- * (LOAD) 7 I PCA I PCA I E I E I
- * WAITING FOR LOAD I I I I I
- * NDCB RESPONSE I I I I I
- * ---------------------+----------+----------+----------+----------+
- * (DUMP) 8 I PCA I PCA I NS$N06 I NS$DAR I
- * WAITING FOR DUMP I I I I I
- * RESPONSE I I I I I
- * ---------------------+----------+----------+----------+----------+
- * (DUMP) 9 I PCA I PCA I E I E I
- * WAITING FOR LOAD I I I I I
- * RESPONSE I I I I I
- * ---------------------+----------+----------+----------+----------+
- * (DUMP) 10 I PCA I PCA I E I E I
- * WAITING FOR START I I I I I
- * RESPONSE I I I I I
- * ---------------------+----------+----------+----------+----------+
- * (SAM) 11 I PCA I E I E I E I
- * WAITING FOR LOAD I I I I I
- * RESPONSE I I I I I
- * ---------------------+----------+----------+----------+----------+
- *
- *
- *
- *E
- * ---------------------+----------+----------+----------+----------+
- * STIMULUS (CODE) I 4 I 5 I 6 I 7 I
- * _____________________I NPU/DT/N I NPU/DT/A I NPU/DT/N I NPU/DT/A I
- * NPU-STATE I (LOAD) I (LOAD) I (START) I (START) I
- * I I I I I
- * I I I I I
- * ---------------------+----------+----------+----------+----------+
- * 0 I E I E I E I E I
- * I I I I I
- * ---------------------+----------+----------+----------+----------+
- * 1 I E I E I E I E I
- * I I I I I
- * ---------------------+----------+----------+----------+----------+
- * 2 I NS$N08 I NS$DAR I E I E I
- * I I I I I
- * ---------------------+----------+----------+----------+----------+
- * 3 I E I E I NS$N13 I NS$DAR I
- * I I I I I
- * ---------------------+----------+----------+----------+----------+
- * 4 I E I E I E I E I
- * I I I I I
- * ---------------------+----------+----------+----------+----------+
- * 5 I NS$N08 I NS$DAR I E I E I
- * I I I I I
- * ---------------------+----------+----------+----------+----------+
- * 6 I E I E I NS$N13 I NS$DAR I
- * I I I I I
- * ---------------------+----------+----------+----------+----------+
- * 7 I NS$N09 I NS$DAR I E I E I
- * I I I I I
- * ---------------------+----------+----------+----------+----------+
- * 8 I E I E I E I E I
- * I I I I I
- * ---------------------+----------+----------+----------+----------+
- * 9 I NS$N08 I NS$DAR I E I E I
- * I I I I I
- * ---------------------+----------+----------+----------+----------+
- * 10 I E I E I NS$N13 I NS$DAR I
- * I I I I I
- * ---------------------+----------+----------+----------+----------+
- * 11 I NS$N08 I NS$DAR I E I E I
- * I I I I I
- * ---------------------+----------+----------+----------+----------+
- *
- *
- * E = SET ERROR-CODE TO "PROTOCOL ERROR"
- * PCA = SET ERROR-CODE TO "PREEMPTED"
- * NS$N00 = PROCESS LOAD REQUEST
- * NS$N04 = PROCESS NPU/DT/N (DUMP NDCB)
- * NS$N05 = PROCESS NPU/DT/N (DUMP SUD) (NOT IMPLEMENTED FOR 6.1)
- * NS$N06 = PROCESS NPU/DT/N (DUMP)
- * NS$N08 = PROCESS NPU/DT/N (LOAD)
- * NS$N09 = PROCESS NPU/DT/N (LOAD NDCB)
- * NS$N13 = PROCESS NPU/DT/N (START)
- * NS$DAR = PROCESS NPU/DT/A
- *
- *
- *E
- * 4.6.2 NOTES ON NS STATE TABLE
- *
- * . NS KEEPS AN ENTRY IN THE NPU TABLE (NPT) FOR EACH NPU
- * THAT IS DEFINED IN THE NCF.
- *
- * . A "STATE" WILL ALWAYS BE DEFINED FOR EVERY NPU. NPUS
- * WILL INITIALLY BE IN "IDLE" STATE.
- *
- * . WHEN AN NPU REQUESTS NS SERVICE (LOAD SAM, DUMP/LOAD NPU)
- * NS CREATES AN NPU ACTIVITY TABLE (NAT) WHICH WILL BE DISCARDED
- * WHEN THE ACTIVITY TERMINATES.
- *
- * . AN NPU WILL BE IN SOME "NON-IDLE" STATE WHEN IT IS BEING
- * SERVICED BY NS.
- *
- * . FOR EACH NPU BEING SERVICED, NS KEEPS A 30-SECOND LOCAL
- * RESPONSE TIMER AND A 2-MINUTE GLOBAL ACTIVITY TIMER TO
- * ALLOW IT TO TIMEOUT AN ACTIVITY ON A "MISBEHAVING" NPU.
- * THE RESPONSE TIMER IS STARTED WHENEVER NS SENDS OUT
- * SERVICE MESSAGES WHICH WOULD REQUIRE A RESPONSE FROM A
- * NPU/PIP. THE ACTIVITY TIMER IS STARTED WHEN NS INITIATES
- * EITHER AN NPU DUMP PROCEDURE OR AN NPU LOAD PROCEDURE.
- *
- * . EVENTS THAT TRIGGER ACTIVITY ON AN NPU ARE SERVICE MESSAGES
- * FROM NPU/PIP, OR EXPIRATION OF EITHER THE LOCAL RESPONSE
- * TIMER OR THE GLOBAL ACTIVITY TIMER.
- *
- * . TRIGGER TO THE STATE TABLE ARE THE INCOMING SERVICE
- * MESSAGES MENTIONED ABOVE. NS USES THE ADDRESSING
- * INFORMATION IN THE SERVICE MESSAGE TEXT TO SEARCH THE
- * NODE CONNECTION TABLE (NCT) WHICH IS DERIVED FROM THE
- * PHYSICAL LINK CROSS REFERENCE TABLE ON NCF, TO IDENTIFY
- * WHICH NPU THE SERVICE MESSAGE RELATES. IF THE SERVICE
- * MESSAGE IS A RESPONSE FROM THE NPU/PIP, THEN NS CHECKS
- * IF THE LOAD PATH AND LOAD SEQUENCE NUMBER IN THE SM
- * MATCHES THE SETTING IN THE NAT. A NON-MATCH WOULD
- * INDICATE THE MESSAGE TO BE A RESPONSE TO AN ACTIVITY
- * PREVIOUSLY ABORTED BY NS.
- *
- * . CONTROL IS PASSED TO STATE TABLE PROCESSOR TO PERFORM THE
- * ACTION APPROPRIATE FOR THAT STIMULUS/STATE.
- *
- * . NS OPERATES UNDER THE ASSUMPTION THAT AN NPU/PIP KNOWS
- * WHAT IT IS DOING, THAT IS, IF A REQUEST IS RECEIVED FROM
- * AN NPU THAT IS CURRENTLY BEING SERVICED, THE CURRENT
- * ACTIVITY IS ABORTED, AND THE NEW REQUEST WILL BE HONORED.
- *
- * . ALL NS DUMP/LOAD ACTIVITY IS DICTATED BY PROCEDURE CONTROL
- * BLOCKS (SPCB/DPCB/LPCB) IN THE PICB WHICH RESIDES IN THE
- * NLF AND IDENTIFIED BY THE NPU VARIANT NAME. NS MAKES NO
- * ASSUMPTIONS ABOUT THE ORDER IN WHICH IT WILL FIND DIRECTIVES
- * IN A PROCEDURE CONTROL BLOCK. IT WILL SIMPLY DO WHATEVER
- * ACTION IS DICTATED BY A PROCEDURE CONTROL BLOCK DIRECTIVE.
- * A BAD PICB WITH DIRECTIVES OUT OF PROPER SEQUENCE WILL
- * THEREFORE RESULT IN A BAD NPU DUMP/LOAD AND RESULTS ARE
- * UNPREDICTABLE, BUT NO DIAGNOSTICS WILL BE ISSUED BY NS.
- *
- *
- *E
- * 4.7 STRUCTURED CHARTS
- *
- * THE FOLLOWING ARE STRUCTURED CHARTS FOR NS.
- * NOT ALL ROUTINES ARE SHOWN, ONLY THE HIGH LEVEL CALLS
- * ARE SHOWN. AND ALSO, UTILITY ROUTINES (E.G. TSB MANAGER
- * ROUTINES, CHARACTER CONVERSION ROUTINES, ETC.) ARE NOT
- * SHOWN.
- *
- *
- * 4.7.1 NS EXECUTIVE
- *
- *
- * +---------> NDLOVD
- * I
- * I
- * +---------> NETCHECK
- * I
- * I
- * +---------> NETWAIT
- * I
- * I
- * +---------> RTIME
- * I
- * I
- * NS$EXC ---------+---------> NS$SMP
- * I
- * I
- * +---------> NS$OFF
- * I
- * I
- * +---------> NS$SHD
- * I
- * I
- * +---------> NS$FEC
- * I
- * I
- * +---------> NS$MSG
- *
- *
- * NS$EXC - NS EXECUTIVE
- * NDLOVLD - OVERLAY LOADER
- * NETCHECK - UPDATE NSUP WORD (AIP)
- * NETWAIT - REQUEST NAM TO ROLLOUT PROGRAM (AIP)
- * RTIME - GET REAL TIME CLOCK READING
- * NS$SMP - SM PROCESSOR
- * NS$OFF - DISCONNECT FROM NETWORK (NETOFF)
- * NS$SHD - SHUTDOWN PROCESSOR
- * NS$FEC - FORMAT ERROR CODE
- * NS$MSG - MESSAGE DISPATCHER
- *
- *
- *E
- * 4.7.2 SM PROCESSOR
- *
- *
- * +---------> NETGET
- * I
- * I
- * +---------> NETREL
- * I
- * I
- * NS$SMP ---------+---------> NS$NSM
- * I
- * I
- * +---------> NS$HSM
- * I
- * I
- * +---------> NS$FEC
- *
- *
- * NS$SMP - SM PROCESSOR
- * NETGET - RECEIVE NETWORK TRAFFIC (AIP)
- * NETREL - RELEASE DEBUG TRACE FILE (AIP)
- * NS$NSM - NETWORK SM PROCESSOR
- * NS$HSM - HOST SM PROCESSOR
- * NS$FEC - FORMAT ERROR CODE
- *
- *
- *E
- * 4.7.2.1 NETWORK SM PROCESSOR
- *
- *
- * +---------> NS$NSS ---------> (1), (2), (3), (4),
- * I (5), (6), (7), (8)
- * I
- * NS$NSM ---------+---------> NS$FEC
- * I
- * I
- * +---------> NS$MSG
- *
- *
- * NS$NSM - NETWORK SM PROCESSOR
- * NS$NSS - NPU STATE TABLE PROCESSOR
- * NS$FEC - FORMAT ERROR CODE
- * NS$MSG - MESSAGE DISPATCHER
- *
- *
- * (1) - PROCESS NPU LOAD REQUEST
- *
- * +---------> NS$FLR
- * I
- * I
- * +---------> NS$INL
- * I
- * I
- * +---------> NS$LSN
- * I
- * I
- * +---------> NS$MSG
- * I
- * I
- * +---------> NS$NAI
- * I
- * NS$N00 ---------I
- * +---------> NS$SGT
- * I
- * I
- * +---------> NS$SLT
- * I
- * I
- * +---------> NS$XPD
- * I
- * I
- * +---------> NS$FEC
- * I
- * I
- * +---------> NETPUT
- *
- *
- * NS$N00 - PROCESS NPU LOAD REQUEST
- * NS$FLR - FIND LOAD RECORD
- * NS$INL - INITIATE NPU LOAD
- * NS$LSN - INCREMENT LOAD SEQUENCE NUMBER
- * NS$MSG - MESSAGE DISPATCHER
- * NS$NAI - INITIALIZE NPU ACTIVITY
- * NS$SGT - START ACTIVITY TIMER
- * NS$SLT - START RESPONSE TIMER
- * NS$XPD - START NEXT XPCB DIRECTIVE
- * NS$FEC - FORMAT ERROR CODE
- * NETPUT - SEND NETWORK TRAFFIC
- *
- *
- * (2) - PROCESS NPU/DT/N (DUMP NDCB)
- *
- * +---------> NS$IND
- * I
- * I
- * +---------> NS$INL
- * I
- * NS$N04 ---------I
- * +---------> NS$MSG
- * I
- * I
- * +---------> NS$XPD
- *
- *
- * NS$N04 - PROCESS NPU/DT/N (DUMP NDCB)
- * NS$IND - INITIATE NPU DUMP
- * NS$INL - INITIATE NPU LOAD
- * NS$MSG - MESSAGE DISPATCHER
- * NS$XPD - PROCESS NEXT XPCB DIRECTIVE
- *
- *
- * (3) - PROCESS NPU/DT/N (DUMP SUD)
- *
- * ****NOT IMPLEMENTED FOR R6.1****
- *
- *
- * (4) - PROCESS NPU/DT/N (DUMP)
- *
- * +---------> NS$SDB
- * I
- * I
- * +---------> NS$SLT
- * I
- * NS$N06 ---------I
- * +---------> NS$XPD
- * I
- * I
- * +---------> NS$FEC
- *
- *
- * NS$N06 - PROCESS NPU/DT/N (DUMP)
- * NS$SDB - SEND DUMP BATCH
- * NS$SLT - START RESPONSE TIMER
- * NS$XPD - PROCESS NEXT XPCB DIRECTIVE
- * NS$FEC - FORMAT ERROR CODE
- *
- *
- * (5) - PROCESS NPU/DT/N (LOAD)
- *
- * +---------> NS$SLB
- * I
- * I
- * NS$N08 ---------+---------> NS$SLT
- * I
- * I
- * +---------> NS$XPD
- *
- *
- * NS$N08 - PROCESS NPU/DT/N (LOAD)
- * NS$SLB - SEND LOAD BATCH
- * NS$SLT - START RESPONSE TIMER
- * NS$XPD - PROCESS NEXT XPCB DIRECTIVE
- *
- *
- * (6) - PROCESS NPU/DT/N (LOAD NDCB)
- *
- * +---------> NETPUT
- * I
- * I
- * NS$N09 ---------+---------> NS$FBH
- * I
- * I
- * +---------> NS$XPD
- *
- *
- * NS$N09 - PROCESS NPU/DT/N (LOAD NDCB)
- * NETPUT - SEND NETWORK TRAFFIC
- * NS$FBH - FORMAT ABH
- * NS$XPD - PROCESS NEXT XPCB DIRECTIVE
- *
- *
- * (7) - PROCESS NPU/DT/N (START)
- *
- * NS$N13 ---------> NS$XPD
- *
- *
- * NS$N13 - PROCESS NPU/DT/N (START)
- * NS$XPD - PROCESS NEXT XPCD DIRECTIVE
- *
- *
- * (8) - PROCESS NPU/DT/A
- *
- * +---------> NS$FBH
- * I
- * I
- * +---------> NS$FEC
- * I
- * NS$DAR ---------I
- * +---------> NS$MSG
- * I
- * I
- * +---------> NETPUT
- *
- *
- * NS$DAR - PROCESS NPU/DT/A
- * NS$FBH - FORMAT ABH
- * NS$FEC - FORMAT ERROR CODE
- * NS$MSG - MESSAGE DISPATCHER
- * NETPUT - SEND NETWORK TRAFFIC
- *
- *
- *E
- * 4.7.2.2 HOST SM PROCESSOR
- *
- * +---------> NS$HCP
- * I
- * I
- * +---------> NS$STR
- * I
- * I
- * +---------> NS$PAG
- * I
- * I
- * +---------> NS$BRK
- * I
- * I
- * +---------> NS$END
- * I
- * NS$HSM ---------I
- * +---------> NS$PCM
- * I
- * I
- * +---------> NS$HHI
- * I
- * I
- * +---------> NS$HST
- * I
- * I
- * +---------> NS$HFI
- * I
- * I
- * +---------> NS$HNO
- *
- *
- * NS$HSM - HOST SM PROCESSOR
- * NS$HCP - HOP COMMAND PROCESSOR
- * NS$STR - PROCESS HOP/START
- * NS$PAG - PROCESS HOP/PAGE
- * NS$BRK - PROCESS HOP/BRK
- * NS$END - PROCESS HOP/END
- * NS$PCM - PROGRAM COMMAND PROCESSOR
- * NS$HHI - HISTORY COMMAND PROCESSOR
- * NS$HST - STATUS COMMAND PROCESSOR
- * NS$HFI - FILE COMMAND PROCESSOR
- * NS$HNO - NO FILE COMMAND PROCESSOR
- *
- *
- *E
- * 5.0 MISCELLANOUS
- *
- * 5.1 NS CONTROL STATEMENT PARAMETERS
- *
- * NS CONTROL CARD HAS THE FOLLOWING FORMAT:
- *
- * NS(NIN=NN,FDP=OPTIONS,RT=OPTIONS,MC=NN)
- *
- *
- * NIN = NN A ONE TO THREE DIGIT DECIMAL NETWORK
- * -INVOCATION-NUMBER ASSIGNED BY NAMI
- * AT NETWORK STARTUP TIME. THIS PARAMETER
- * IS REQUIRED.
- *
- * FDP=OPTIONS IS THE FORCED DUMP OPTION. IF YES IS
- * SPECIFIED THEN, WITHIN THE FIRST 10-MINUTES
- * IN THE ABSENCE OF OTHER NPU DUMPING
- * CONDITIONS, NPUS WILL BE DUMPED BEFORE LOADING
- * TAKES PLACE. LEGAL VALUES ARE: YES OR NO.
- * IF NOT SPECIFIED, NO WILL BE ASSUMED.
- *
- * RT =OPTIONS IS THE RELEASE TRACE FILE OPTION. IF YES
- * SPECIFIED, NPD/REL/R WILL BE SENT TO NAM
- * TO REQUEST ALL NETWORK PROGRAMS TO RELEASE
- * THEIR TRACE FILES WHENEVER NS DUMPS AN NPU.
- * LEGAL VALUES ARE YES OR NO. DEFAULT IS YES.
- *
- * MC = NN A ONE TO THREE DIGIT DECIMAL MESSAGE COUNT.
- * THIS PARAMETER IS OPTIONAL.
- *
- *
- *E
- * 5.2 TSB MANAGER
- *
- * NS CALLS TSB MANAGER (TASK SEQUENCE BLOCK MANAGER) ROUTINES
- * TO MANAGE ITS DYNAMIC MEMORY AREA. THE TSB-MANAGER IS A
- * SET OF MEMORY MANAGEMENT ROUTINES TO ALLOCATE AND RELEASE
- * BLOCKS OF MEMORY. EACH BLOCK IS CALLED A TASK SEQUENCE
- * BLOCK (TSB) AND MAY BE A MOVABLE OR NON-MOVABLE BLOCK OF
- * VARIABLE LENGTH. ASSOCIATED WITH EACH TSB IS A ONE WORD
- * HEADER THAT DESCRIBES THE CURRENT STATE OF THE TSB AND
- * OTHER INFORMATION FOR THAT TSB. EACH ACTIVE OR BUSY TSB
- * ASLO HAS AN ENTRY IN THE TSB INFORMATION TABLE (TSBIT)
- * THAT KEEPS TRACK OF ASSIGNED BLOCKS.
- *
- * THE FOLLOWING TSB MANAGER ROUTINES ARE USED:
- *
- * ROUTINE NAME DESCRIPTIONS/PARAMETERS
- * ------------ -----------------------
- *
- * REQTSB ASSIGN A MOVABLE/UNIQUE TSB.
- * INPUT PARAMETERS:
- * - TSB-SIZE REQUESTED IN WORDS.
- * OUTPUT PARAMETERS:
- * - TSB-NUMBER OF ASSIGNED TSB.
- * - FWA OF ASSIGNED TSB.
- *
- * RETTSB RELEASE ASSIGNED TSB AND TSB-NUMBER
- * INPUT PARAMETERS:
- * - TSB-NUMBER OF TSB TO BE RELEASED.
- *
- * EXINCSZ INCREASE SIZE OF AN ASSIGNED TSB
- * INPUT PARAMETERS:
- * - TSB-NUMBER OF TSB TO HAVE SIZE INCREASED
- * - ADDITIONAL SIZE REQUESTED IN WORDS
- * OUTPUT PARAMETERS:
- * - FWA OF TSB.
- *
- * EXREDUC REDUCE THE SIZE OF AN ASSIGNED TSB.
- * INPUT PARAMETERS:
- * - TSB-NUMBER OF TSB TO HAVE SIZE REDUCED
- * - NUMBER OF WORDS TO BE REDUCED
- * - FIFO-INDICATOR, IF SET TO TRUE, RELEASE
- * SPECIFIED NUMBER OF WORDS STARTING FROM
- * FWA OF TSB, OTHERWISE THE LOWER PORTION
- * OF TSB IS RELEASED.
- * OUTPUT PARAMETERS:
- * - FWA OF TSB
- *
- * TSBINFO RETURN SIZE AND FWA OF AN ASSIGNED TSB AND
- * AND TSB BECOMES NON-REMOVABLE.
- * INPUT PARAMETERS:
- * - TSB NUMBER OF ASSIGNED TSB
- * OUTPUT PARAMETERS:
- * - TSB-SIZE IN WORDS
- * - FWA OF TSB
- *
- *
- * MOVEOK MAKE TSB MOVABLE
- * INPUT PARAMETERS:
- * - TSB-NUMBER OF ASSIGNED TSB
- * OUTPUT PARAMETERS:
- * - NONE
- *
- * XFLMGR PERFORM GARBAGE COLLECTION TO
- * ELIMINATE MEMORY FRAGMENTATION IN
- * DYNAMIC MEMORY AREA OF NS FIELD LENGTH.
- *
- *
- *E
- * 5.3 MACREL INTERFACE
- *
- * MACREL IS A COLLECTION OF RELOCATABLE MODULES THAT
- * PROVIDES THE INTERFACE BETWEEN HIGHER LEVEL LANGUAGE
- * (SYMPL/FORTRAN) AND THE NOS SYSTEM MACROS. NS CALLS
- * THE FOLLOWING LIST OF MACREL ROUTINES:
- *
- *
- * OPEN
- * READ
- * RETURN
- * REWIND
- * WRITEF
- * WRITER
- * READW
- * WRITEW
- * MOVE
- * ABORT
- * CLOCK
- * DATE
- * EREXIT
- * MEMORY
- * MESSAGE
- * PDATE
- * RECALL
- * RTIME
- * DEFINE
- * PURGE
- *
- *
- *E
- * 5.4 HOST OPERATOR COMMANDS
- *
- * NS SUPPORTS THE NAM K-DISPLAY, COMMANDS PROCESSED BY
- * NS ARE:
- *
- * 1) NPU LOAD STATUS COMMAND -
- * THIS COMMAND DISPLAYS A SPECIFIED NPU-S CURRENT DUMP/LOAD
- * STATUS THAT THIS NS KNOWS ABOUT.
- *
- * 2) HISTORY COMMAND -
- * THIS COMMAND DISPLAYS THE ENTIRE HISTORY BUFFER, OR
- * JUST THE LAST PAGE OF THE HISTORY BUFFER DEPENDING
- * ON THE CONTEXT OF THE COMMAND. THE HISTORY BUFFER
- * CONTAINS THE MOST SIGNIFICANT EVENTS PERFORMED BY
- * NS (LIKE LOAD REQUESTED/COMPLETED/ABORTED).
- *
- * 3) FILE COMMAND -
- * THIS COMMAND ALLOWS THE HOP TO ASSIGN AN ALTERNATE
- * LOAD FILE TO NS FOR LOADING A SPECIFIC NPU.
- *
- * 4) NOFILE COMMAND -
- * THIS COMMAND ALLOWS THE HOP TO CANCEL THE ALTERNATE
- * LOAD FILE ASSIGNED TO AN NPU (VIA THE FILE COMMAND)
- * AND RETURN TO USING THE DEFAULT LOAD FILE FOR LOADING
- * ALL NPUS.
- *
- *
- *E
- * 6.0 MODULE DESCRIPTIONS
- *
- #
- END # NS$IMS #
- TERM
cdc/nos2.source/nam5871/ns_ims.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator