*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