User Tools

Site Tools


cdc:nos2.source:nam5871:ns_ims

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
  1. *DECK NS$IMS
  2. PROC NS$IMS;
  3. # TITLE NS$IMS - NS INTERNAL MAINTAINENCE SPECIFICATION. #
  4.  
  5. BEGIN # NS$IMS #
  6. #
  7. ** NS$IMS - NS INTERNAL MAINTAINENCE SPECIFICATION(IMS).
  8. *
  9. * A. LIM 83/01/05
  10. *
  11. * THIS PROCEDURE CONTAINS NO EXECUTABLE CODE. IT IS AN IMS.
  12. *
  13. * PROC NS$IMS
  14. *
  15. * ENTRY NONE
  16. *
  17. * EXIT NONE
  18. *
  19. *E
  20. * 1.0 INTRODUCTION
  21. * 2.0 OVERLAY STRUCTURES
  22. * 2.1 OVERLAY LOADING
  23. * 3.0 TABLE STRUCTURES
  24. * 3.1 NPU TABLE (NPT)
  25. * 3.2 NPU ACTIVITY TABLE (NAT)
  26. * 3.3 NPU STATUS TABLE (NST)
  27. * 3.4 NODE CONNECTION TABLE (NCT)
  28. * 3.5 HISTORY BUFFER
  29. * 3.6 K-DISLPAY BUFFER
  30. * 3.7 PAGE-WAIT BUFFER
  31. * 3.8 NETWORK CONFIGURATION FILE
  32. * 3.8.1 NPU CROSS REFERENCE TABLE
  33. * 3.8.2 PHYSICAL LINK CROSS REFERENCE TABLE
  34. * 3.9 NETWORK DUMP FILE (NDF)
  35. * 3.10 NETWORK LOAD FILE (NLF)
  36. * 4.0 OVERVIEW
  37. * 4.1 INITIATION OF LOCAL NPU DUMP/LOAD PROCESS BY SAM
  38. * 4.2 INITIATION OF LOCAL NPU DUMP/LOAD PROCESS BY PIP
  39. * 4.3 REMOTE NPU DUMP/LOAD PROCESS
  40. * 4.4 DUMP PROCEDURE
  41. * 4.4.1 DUMP DECISION
  42. * 4.4.2 DUMP SM SEQUENCE
  43. * 4.5 LOAD PROCEDURE
  44. * 4.5.1 LOAD SM SEQUENCE
  45. * 4.6 NS STATE TABLE
  46. * 4.6.1 NS STATE DIAGRAM
  47. * 4.6.2 NOTES ON NS STATE DIAGRAM
  48. * 4.7 STRUCTURE CHARTS
  49. * 4.7.1 NS EXECUTIVE
  50. * 4.7.2 SM PROCESSOR
  51. * 4.7.2.1 NETWORK SM PROCESSOR
  52. * 4.7.2.2 HOST SM PROCESSOR
  53. * 5.0 MISCELLANEOUS
  54. * 5.1 NS CONTROL STATEMENT PARAMETERS
  55. * 5.2 TSB MANAGER
  56. * 5.3 MACREL INTERFACE
  57. * 5.4 HOST OPERATOR COMMANDS
  58. * 6.0 MODULE DESCRIPTIONS
  59. *
  60. *
  61. *
  62. *
  63. *
  64. *E
  65. * 1.0 INTRODUCTION
  66. *
  67. * THE NETWORK SUPERVISOR (NS) EXECUTES AS A NAM APPLICATION
  68. * WITH SPECIAL PRIVILEGES AND RESPONDS TO REQUESTS TO
  69. * PERFORM THE FOLLOWING PROCEDURE:
  70. *
  71. * (1) DUMP NPU MEMORY INTO A HOST PERMANENT FILE AS
  72. * DIRECTED BY THE DUMP PROCEDURE CONTROL BLOCK
  73. * DIRECTIVES OF THE PROGRAM INITIATION CONTROL
  74. * BLOCK (PICB) THAT RESIDES ON THE NETWORK LOAD
  75. * FILE (NLF).
  76. *
  77. * (2) LOAD CCP SOFTWARE FROM NETWORK LOAD FILE (NLF),
  78. * AND NPU CONFIGURATION BLOCK (NCB) FROM THE
  79. * NETWORK CONFIGURATION FILE (NCF) INTO NPU
  80. * MEMORY AS DIRECTED BY THE LOAD PROCEDURE
  81. * CONTROL BLOCK (LPCB) DIRECTIVES OF THE PICB
  82. * THAT RESIDES ON NLF.
  83. *
  84. * (3) SUPPORT NAM K-DISPLAY COMMANDS.
  85. *
  86. *
  87. *
  88. *
  89. *E
  90. * 2.0 OVERLAY STRUCTURES
  91. *
  92. * NS IS COMPOSED OF A MAIN OVERLAY AND SEVEN PRIMARY
  93. * OVERLAYS, WITH SOME PRIMARY OVERLAYS CONSIST OF
  94. * SECONDARY OVERLAYS.
  95. * THE FOLLOWING IS A GENERAL MEMORY LAYOUT OF NS.
  96. * THE FIELD LENGTH, AND THE LENGTH OF THE VARIOUS
  97. * OVERLAYS ARE SUBJECT TO CHANGE IF FUTURE ENHANCEMENT
  98. * OR MODIFICATION IS SO DECIDED TO BE NECESSARY.
  99. * THE FIELD LENGTH SHOWS IN THIS DIAGRAM IS JUST
  100. * AN APPROXIMATION.
  101. * DUE TO PAGE SIZE CONTRAINT, NOT ALL THE SECONDARY
  102. * OVERLAYS ARE SHOWN IN THE DIAGRAM.
  103. *
  104. *
  105. * 0 +-----------------------------------------------------------+
  106. * I I
  107. * I I
  108. * I I
  109. * I I
  110. * I I
  111. * I 0,0 I
  112. * I I
  113. * I I
  114. * I I
  115. * I I
  116. * I I
  117. * 15000 +-----------------------------------------------------------+
  118. * I I I I 4,0 I I I I
  119. * I I 2,0 I 3,0 I I I 6,0 I I
  120. * I I I I-----I 5,0 I I I
  121. * I 1,0 I----------------+-----+ I I-----I 7,0 I
  122. * I I I I I I I I I I
  123. * I I2,1I2,2I...I2,13I +-----+ I I
  124. * I I I---+ I I I I
  125. * +------------+---+ +----+ +-----+
  126. * I I I I
  127. * I I I1,5I
  128. * I 1,1I...I I
  129. * I I I I
  130. * I I +---+
  131. * I I
  132. * 16500 +----+
  133. *
  134. *
  135. * OVERLAY NUMBER DESCRIPTIONS
  136. * -------------- ------------
  137. *
  138. * 0,0 NS MAIN/RESIDENT OVERLAY
  139. * NS EXECUTIVE
  140. * UTILITY ROUTINES
  141. *
  142. * 1,0 NS INITIALIZATION OVERLAY
  143. *
  144. * 1,2 NS NETON PROCESSOR OVERLAY
  145. *
  146. * 1,3 NS BUILD NODE CONNECTION TABLE(NCT) OVERLAY
  147. *
  148. * 1,4 NS BUILD NPU TABLE(NPT) OVERLAY
  149. *
  150. * 1,5 NS NPU DUMP INDEX INITIALIZER OVERLAY
  151. *
  152. * 2,0 NS HOST INTERFACE OVERLAY
  153. *
  154. * 2,1 NS HOP/BREAK PROCESSOR OVERLAY
  155. *
  156. * 2,2 NS HOP/END PROCESSOR OVERLAY
  157. *
  158. * 2,3 NS HOP COMMAND CRACKER OVERLAY
  159. *
  160. * 2,4 NS FILE COMMAND PROCESSOR OVERLAY
  161. *
  162. * 2,5 NS HISTORY COMMAND PROCESSOR OVERLAY
  163. *
  164. * 2,6 NS NOFILE COMMAND PROCESSOR OVERLAY
  165. *
  166. * 2,7 NS STATUS COMMMAND PROCESSOR OVERLAY
  167. *
  168. * 2,10 NS K-DISPLAY DIAGNOSTIC OVERLAY
  169. *
  170. * 2,11 NS HOP/PAGE PROCESSOR OVERLAY
  171. *
  172. * 2,12 NS PROGRAM COMMAND PROCESSOR OVERLAY
  173. *
  174. * 2,13 NS HOP/START PROCESSOR OVERLAY
  175. *
  176. * 3,0 NS K-DISLPAY MANAGER OVERLAY
  177. *
  178. * 4,0 NS NPU ABNORMAL RESPONSE PROCESSOR OVERLAY
  179. *
  180. * 5,0 NS ERROR PROCESSOR OVERLAY
  181. *
  182. * 6,0 NS LOAD REQUEST PROCESSOR OVERLAY
  183. *
  184. * 7,0 NS NDCB RESPONSE PROCESSOR OVERLAY
  185. *
  186. *
  187. *E
  188. * 2.1 OVERLAY LOADING
  189. *
  190. * OVERLAY LOADING IS DONE VIA SUBROUTINE CALL TO NETWORK
  191. * DEFINITION LANGUAGE PROCESSOR (NDLP) ROUTINE *NDLOVLD*.
  192. * NDLOVLD-S MAJOR FUNCTION IS TO LOAD OVERLAYS.
  193. * IT DETERMINES IF PRIMARY OR SECONDARY OVERLAY IS
  194. * REQUESTED. IF THE OVERLAY HAS ALREADY BEEN LOADED
  195. * JUST SET UP THE RJ AND JUMP TO IT. OTHERWISE, LOAD
  196. * IT. OVERLAY LOAD ERRORS CAUSE NS TO ABORT. CLEAR
  197. * THE SECONDARY DATA WORDS TO ZERO WHEN LOADING A NEW
  198. * PRIMARY. ALSO SAVE THE PRIMARY RETURN ADDRESS
  199. * TO PRESERVE IT IF SECONDARIES ARE LATER LOADED.
  200. * UPON RETURN FROM TEH OVERLAY, FOR PRIMARIES, RESTORE
  201. * THE RETURN ADDRESS IN CASE IT HAS BEEN CLOBBERED BY
  202. * SECONDARY OVERLAY LOADS. FOR SECONDARIES, RESTORE
  203. * THE PRIMARY NAME IN CUROVL. RETURN.
  204. *
  205. * ENTRY PARAMETERS: 42/OVL-NAME,6/0,6/PRI,6/SEC
  206. * OVL-NAME = 7-CHARACTERS OR LESS OVERLAY NAME
  207. * PRI = PRIMARY OVERLAY NUMBER
  208. * SEC = SECONDARY OVERLAY NUMBER
  209. *
  210. * EXIT PARAMETERS: CUROVL - CURRENT OVERLAY SET IN
  211. * EXTERNAL REFERENCE AREA.
  212. *
  213. *
  214. *
  215. *
  216. *E
  217. * 3.0 TABLE STRUCTURES
  218. *
  219. * THE TABLES DESCRIBED IN THE FOLLOWING SUBSECTIONS ARE
  220. * MAJOR TABLES USED BY NS.
  221. *
  222. *
  223. *E
  224. * 3.1 NPU TABLE (NPT)
  225. *
  226. * THE NPU-TABLE(NPT) CONSISTS OF A ONE-WORD HEADER AND
  227. * A FIVE-WORD ENTRY FOR EACH NPU DEFINED IN THE NETWORK
  228. * CONFIGURATION FILE. IT HAS THE FOLLOWING FORMAT:
  229. *
  230. * HEADER FORMAT:
  231. *
  232. *TEXT
  233. *T 6/ID,12/EC,18/0,12/NLTAIL,12/NLHEAD
  234. *ENDTEXT
  235. *
  236. * ID = NPU TABLE ID (5)
  237. * EC = NPU TABLE ENTRY COUNT
  238. * NLTAIL = NAT LIST TAIL PTR
  239. * NLHEAD = NAT LIST HEAD PTR
  240. *
  241. *
  242. * NPT FORMAT:
  243. *
  244. *TEXT
  245. *T WORD+0 42/NPU-NAME,2/-,1/L,1/D,1/F,1/S,4/PEC,8/NPUNN
  246. *T WORD+1 36/VAR-NAME,8/NCTOR,4/LSN,12/NSTTSB
  247. *T WORD+2 12/NATTSB,48/N-NODE-NUMBERS
  248. *T WORD+3 30/NCB-LENGTH,30/NCB-RSA
  249. *T WORD+4 42/ALF-PFN,6/-,12/DIR-TSB
  250. *ENDTEXT
  251. *
  252. * NPU-NAME = NPU NAME
  253. * - = UNUSED
  254. * L = LAST LOAD FILE FAILED FLAG
  255. * D = DEFAULT DUMP FLAG
  256. * F = LONG TERM DUMP FLAG
  257. * S = SUD BYPASS FLAG
  258. * PEC = PROTOCOL ERROR COUNT
  259. * NPUNN = NPU NODE NUMBER
  260. * VAR-NAME = NPU VARIANT NAME
  261. * NCTOR = NODE CONNECTION TABLE ORDINAL
  262. * LSN = LOAD SEQUENCE NUMBER
  263. * NSTTSB = NPU STATUS TABLE TSB NUMBER
  264. * NATTSB = NPU ACTIVITY TABLE TSB NUMBER
  265. * N-NODE-NUMBERS = NEIGHBOR NODE NUMBERS
  266. * NCB-LENGTH = LENGTH OF NCB IN NPU WORDS
  267. * NCB-RSA = NCB RELATIVE SECTOR ADDRESS
  268. * ALF-PFN = ALTERNATE NLF PFN
  269. * DIR-TSB = ALTERNATE NLF DIRECTORY TSB NUMBER
  270. *
  271. *
  272. *E
  273. * 3.2 NPU ACTIVITY TABLE (NAT)
  274. *
  275. * NAT IS A DYNAMIC TABLE USED BY NS TO CO-ORDINATE
  276. * AND CONTROL ACTIVITY ON AN NPU. IT IS CREATED
  277. * WHEN AN ACTIVITY(NPU DUMP, NPU LOAD, OR SAM LOAD
  278. * BEGINS AND IS RELEASED WHEN THE ACTIVITY TERMINATES.
  279. * IT HAS THE FOLLOWING FORMAT:
  280. *
  281. *TEXT
  282. *T WORD+0 6/ID,12/S,12/NCT-ORD,3/-,3/EC,12/BPTR,12/FPTR
  283. *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
  284. *T WORD+2 4/-,8/BC,12/NDTSBN,12/PITSBN,12/PENDI,12/XPCBI
  285. *T WORD+3 4/DC,3/-,1/P,3/DBT,1/S,24/DIRP1,24/DIRP2
  286. *T WORD+4 30/CCRI,30/NCRI
  287. *T WORD+5 24/LTIMER,24/GTIMER,12/SMTSBN
  288. *T WORD+6 18/LDATE,18/LTIME,24/NDCB-FWA
  289. *ENDTEXT
  290. *
  291. * ID = NAT ID (3)
  292. * S = NAT SIZE
  293. * - = UNUSED
  294. * NCT-ORD = NODE CONNECTION TABLE ENTRY ORDINAL
  295. * EC = XPCB DIRECTIVE ERROR COUNT
  296. * BPTR = NAT LIST BACKWARD PTR
  297. * FPTR = NAT LIST FORWARD PTR
  298. * RN = LOAD REQUESTOR NODE NUMBER
  299. * CN = COUPLER NODE NUMBER
  300. * PN = PORT NUMBER
  301. * SPN = SUB PORT NUMBER
  302. * LSN = LOAD SEQUENCE NUMBER
  303. * A SEQUENCE NUMBER MAINTAINED BY NS
  304. * (USING MODULO 15) FOR EACH REMOTE NPU,
  305. * AND INCLUDED IN NPU/DT SUPERVISORY
  306. * MESSAGES OF A REMOTE NPU DUMP/LOAD SEQUENCE.
  307. * IT SERVES TO PREVENT RESPONSE SUPERVISORY
  308. * MESSAGES OF AN EARLIER ABORTED SEQUENCE
  309. * FROM INTERFERING WITH THE CURRENT ONE.
  310. * NO = NPU TABLE ENTRY ORDINAL FOR THE ACTIVE NPU
  311. * - = UNUSED
  312. * N = SAVE NPU DUMP FILE FLAG
  313. * L = SELF LOADING FLAG
  314. * R = REMOTE LOAD FLAG
  315. * RTC = NPU/DT/R RETRY COUNT
  316. * ST = NPU STATE
  317. * PRIMARY NPU STATE:
  318. * 1- LOADING SAM
  319. * 2- DUMPING NPU
  320. * 3- LOADING NPU
  321. * 4- DUMPING NDCB
  322. * SECONDARY NPU STATE:
  323. * 1- WAITING FOR LOAD RESPONSE
  324. * 2- WAITING FOR DUMP RESPONSE
  325. * 3- WAITING FOR START RESPONSE
  326. * 4- WAITING FOR LOAD NDCB RESPONSE
  327. * BC = BATCH COUNT
  328. * NDTSBN = TSB NUMBER OF DUMP TSB
  329. * PITSBN = TSB NUMBER OF PICB
  330. * PENDI = PICB INDEX OF END DIRECTIVE
  331. * XPCBI = CURRENT PICB DIRECTIVE INDEX
  332. * DC = DIRECTIVE CODE
  333. * P = SET IF DIRECTIVE IS PROCESSED
  334. * DBT = DUMP BLOCK TYPE
  335. * DIRP1 = DIRECTIVE PARAMETER 1
  336. * DIRP2 = DIRECTIVE PARAMETER 2
  337. * CCRI = CURRENT-RANDOM-INDEX OF CURRENT
  338. * RECORD BEING READ
  339. * NCRI = CURRENT-RANDOM-INDEX OF NEXT
  340. * READ TO BE READ
  341. * LTIMER = LOCAL RESPONSE TIMER (IN SECONDS)
  342. * GTIMER = GLOBAL RESPONSE TIMER (IN SECONDS)
  343. * SMTSBN = TSB NUMBER OF DUMP NDCB RESPONSE
  344. * LDATE = LOAD DATE IN PACKED BINARY
  345. * LTIME = LOAD TIME IN PACKED BINARY
  346. * NDCB-FWA = NDCB FWA IN NPU
  347. *
  348. *
  349. *E
  350. * 3.3 NPU STATUS TABLE (NST)
  351. *
  352. * THE NPU STATUS TABLE(NST) IS A VARIABLE-LENGTH DYNAMIC TABLE
  353. * CONTAINING THE MOST RECENT DUMP/LOAD STATUS OF AN NPU WHICH
  354. * HAS BEEN SERVICED BY NS. IT IS CREATED WHEN AN NPU ACTIVITY
  355. * IS INITIATED AND STAYS PERMANENTLY TO LOG ALL RELEVANT STATUS
  356. * INFORMATION ASSOCIATED WITH AN NPU ACTICITY. IT HAS THE
  357. * FOLLOWING FORMAT:
  358. *
  359. *TEXT
  360. *T WORD+0 6/NSTID,12/NST-SIZE,24/TIMER,2/L,8/NN,8/NORD
  361. *T WORD+1 36/L-DATE-TIME,24/-
  362. *T WORD+2 36/D-DATE-TIME,8/LC,16/NHALTC
  363. *T WORD+3 42/NDF-PFN,2/F,16/P-CONTENT
  364. *T WORD+4 60/EVENT-MESSAGE
  365. *ENDTEXT
  366. *
  367. * NSTID = NST ID (6)
  368. * NST-SIZE = NST SIZE
  369. * TIMER = TIMER FOR CHECKING MULTI LOADS
  370. * NN = NPU NODE NO
  371. * L-DATE-TIME = PACKED BINARY LOAD DATE/TIME
  372. * - = UNUSED
  373. * D-DATE-TIME = PACKED BINARY DUMP DATE/TIME
  374. * LC = LOAD COUNT
  375. * NHALTC = NPU HALT CODE IN HEX
  376. * NDF-PFN = NAME OF MOST RECENT DUMP FILE
  377. * F = LOAD FAILURE COUNT
  378. * P-CONTENT = NPU P-REGISTER CONTENTS
  379. * EVENT-MESSAGE = EVENT-MESSAGE TEXT(UP TO 6 WORDS)
  380. *
  381. *
  382. *E
  383. * 3.4 NODE CONNECTION TABLE (NCT)
  384. *
  385. * NCT IS NON-REMOVABLE AND IS BUILT AT NS INITIALIZATION
  386. * TIME FROM THE NCF-S PHYSICAL LINK CROSS REFERENCE
  387. * TABLE AND IS USED TO IDENTIFY AS
  388. * TO WHICH NPU AN INCOMING SM FOR AN NPU
  389. * DUMP/LOAD ACTIVITY RELATES. THE ADDRESSING INFORMATION
  390. * IN THE SM I.E. SOURCE NODE NUMBER IN APPLICATION BLOCK
  391. * HEADER AND PORT NUMBER IN SM, IS USED TO SEARCH THE
  392. * NCT TO IDENTIFY THE "ACTIVE" NEIGHBOR NPU NODE. NCT
  393. * ENTRIES CONTAINING A CURRENTLY "ACTIVE" NPU NODE ARE
  394. * QUEUED TO THE TOP OF THE LIST TO SPEED UP IDENTIFYING
  395. * TO WHICH "ACTIVE" NPU A RESPONSE SM RELATES. THE
  396. * ENTRIES ARE DEQUEUED FROM THE LIST AND
  397. * QUEUED TO THE BOTTOM OF THE LIST WHEN THE ACTIVITY TERMINATES.
  398. * THE NCT IS COMPRISED OF A 1-WORD HEADER AND 1-WORD
  399. * ENTRIES WHICH CAN BE EITHER A COUPLER-NODE ENTRY OR
  400. * AN NPU NODE ENTRY.
  401. *
  402. * NCT HEADER WORD FORMAT:
  403. *
  404. *TEXT
  405. *T 6/ID,12/EC,18/-,12/LISTTP,12/LISTHP
  406. *ENDTEXT
  407. *
  408. * ID = NCT ID
  409. * EC = NCT ENTRY COUNT
  410. * - = UNUSED
  411. * LISTTP = LIST TAIL POINTER
  412. * LISTHP = LIST HEAD POINTER
  413. *
  414. *
  415. * NCT ENTRY FORMAT:
  416. *
  417. *TEXT
  418. *T 8/NN,8/PN,8/SPN,8/NNN,3/-,1/N,12/LISTBP,12/LISTFP
  419. *ENDTEXT
  420. *
  421. * NN = NETWORK NODE NUMBER
  422. * COUPLER NODE NUMBER IF A COUPLER NODE ENTRY,
  423. * AND NPU NODE NUMBER IF A NPU NODE ENTRY.
  424. * PN = PORT NUMBER (NON-ZERO FOR NPU NODE ENTRY ONLY)
  425. * SPN = SUBPORT NUMBER
  426. * NNN = NEIGHBOR NPU NODE NUMBER
  427. * - = UNUSED
  428. * N = NEIGHBOR NPU ACTIVE FLAG
  429. * LISTBP = LIST BACKWARD POINTER
  430. * LISTFP = LIST FORWARD POINTER
  431. *
  432. *
  433. * APPLICATION BLOCK HEADER(ABH) FORMAT FOR NETWORK SM:
  434. *
  435. *TEXT
  436. *T 6/ABT,8/DN,8/SN,8/CN,4/BT,18/ ,8/CC
  437. *ENDTEXT
  438. *
  439. * ABT = SPECIAL APPLICATION BLOCK TYPE FOR NETWORK
  440. * SERVICE MESSAGES EXCHANGED BETWEEN CCP AND
  441. * CS/NS. VALUE = 4.
  442. * DN = DESTINATION NODE
  443. * SN = SOURCE NODE
  444. * CN = CONNECTION NUMBER
  445. * BT = BLOCK TYPE
  446. * CC = CHARCTER COUNT OF THE SERVICE MESSAGE TEXT
  447. *
  448. *
  449. *E
  450. * 3.5 HISTORY BUFFER
  451. *
  452. * HISTORY BUFFER IS A VARIABLE-LENGTH DYNAMIC FIFO BUFFER
  453. * USED BY NS TO LOG THE RECENT EVENT MESSAGES. IT IS
  454. * ALLOCATED AT NS INITIALIZATION TIME TO LOG THE
  455. * HEADLINES OF HISTORY DISPLAY, AND EXPANDS AS
  456. * HISTORY LINES ARE ADDED TO IT. UP TO 124 LINES
  457. * ARE ALLOWED IN THIS BUFFER.
  458. *
  459. * HEADER FORMAT:
  460. *
  461. *TEXT
  462. *T 6/ID,12/WC,12/LC,30/0
  463. *ENDTEXT
  464. *
  465. * ID = HISTORY BUFFER IDENTIFIER (2)
  466. * WC = NUMBER OF WORDS IN HISTORY BUFFER
  467. * LC = NUMBER OF LINES IN HISTORY BUFFER
  468. *
  469. *
  470. * HEADLINE 1: NAME AND VERSION OF NS IN DISPLAY CODE.
  471. * HEADLINE 2: VERSION (CREATION DATE AND TIME) OF NLF
  472. * IN DISPLAY CODE
  473. * HEADLINE 3: VERSION (CREATION DATE AND TIME) OF NCF
  474. * IN DISPLAY CODE.
  475. *
  476. * EACH EVENT MESSAGE (AND HEADLINE) IN THE HISTORY-BUFFER
  477. * IS COMPRISED OF A LINE HEADER, AND UP TO 58 DISPLAY CODE
  478. * CHARACTERS PLUS THE ZERO-BYTE LINE TERMINATOR.
  479. *
  480. *
  481. *E
  482. * 3.6 K-DISPLAY BUFFER
  483. *
  484. * K-DISPLAY BUFFER IS A VARIABLE LENGTH DYNAMIC
  485. * BUFFER USED BY NS TO STORE ANY OUTGOING MESSAGE
  486. * FOR THE NAM K-DISPLAY. A HEADER IS ALLOCATED AT
  487. * INITIALIZATION TIME AND THE BUFFER EXPANDS AS
  488. * OUTGOING MESSAGES ARE ADDED TO IT AND SHRINKS
  489. * AS THESE MESSAGES ARE SENT. A MAXIMUM OF 30
  490. * LINES (ONE K-DISPLAY PAGE) IS ALLOWED IN THE BUFFER.
  491. * EACH LINE IN THE K-DISPLAY BUFFER IS COMPRISED OF
  492. * A LINE HEADER AND UP TO 58 DIPLAY CODE CHARACTERS
  493. * PLUS THE ZERO-BYTE TERMINATOR.
  494. *
  495. * ITS HEADER FORMAT:
  496. *
  497. *TEXT
  498. *T 6/ID,12/WC,12/LC,30/-
  499. *ENDTEXT
  500. *
  501. * ID = IDENTIFIER (1)
  502. * WC = WORD COUNT
  503. * LC = LINE COUNT
  504. * - = UNUSED
  505. *
  506. *
  507. *E
  508. * 3.7 PAGE WAIT BUFFER
  509. *
  510. *
  511. * PAGE-WAIT-BUFFER IS A VARIABLE-LENGTH DYNAMIC FIFO
  512. * BUFFER USED BY NS TO STORE K-DISPLAY OUTPUT LINES
  513. * WHEN THE NAM K-DISPLAY IS IN PAGE-WAIT MODE.
  514. * IT IS INITIALLY ALLOCATED AS A ONE-WORD TSB
  515. * CONTAINING ONLY THE PAGE-WAIT-BUFFER HEADER WORD
  516. * WHEN NAM K-DISPLAY IS ASSIGNED TO NS, AND EXPANDS
  517. * AS K-DISPLAY OUTPUT LINES ARE ADDED TO IT. UP TO
  518. * 160 LINES IS ALLOWED. PAGE-WAIT BUFFER
  519. * IS RELEASED WHEN NS NO LONGER HAS THE NAM K-DISPLAY
  520. * ASSIGNED TO IT.
  521. * EACH LINE IN THE PAGE WAIT BUFFER IS COMPRISED OF
  522. * A LINE HEADER AND UP TO 58 DISPLAY CODE CHARACTERS
  523. * PLUS THE ZERO-BYTE TERMINATOR.
  524. *
  525. * ITS HEADER FORMAT:
  526. *
  527. *TEXT
  528. *T 6/ID,12/WC,12/LC,30/-
  529. *ENDTEXT
  530. *
  531. * ID = IDENTIFIER (7)
  532. * WC = CURRENT WORD COUNT
  533. * LC = CURRENT LINE COUNT
  534. * - = UNUSED
  535. *
  536. *
  537. *E
  538. * 3.8 NETWORK CONFIGURATION FILE (NCF)
  539. *
  540. * THE NCF IS A DIRECT ACCESS PERMANENT FILE USED BY NS.
  541. * ONLY THREE RECORDS FROM THE NCF ARE USED BY NS. AND
  542. * THEY ARE: 1) THE NPU CROSS REFERENCE TABLE,
  543. * 2) THE PHYSICAL LINK CROSS REFERENCE TABLE, AND
  544. *
  545. * 3) THE NETWORK CONFIGURATION BLOCK (NCB).
  546. *
  547. *E
  548. * 3.8.1 NPU CROSS REFERENCE TABLE
  549. *
  550. * THE NPU CROSS REFERENCE TABLE IS A RECORD ON THE
  551. * NETWORK CONFIGURATION FILE WHICH IS USED TO ASSOCIATE AN
  552. * NPU NAME WITH ITS NODE NUMBER AND VARIANT NAME. THERE
  553. * IS A 2-WORD ENTRY IN THE TABLE FOR EACH NPU.
  554. *
  555. *TEXT
  556. *T WORD+0 42/"NPUXREF",18/0
  557. *T WORD+1 48/-,12/WC
  558. *T WORD+2 42/NPUNAME,1/G,1/D,8/-,8/NID
  559. *T WORD+3 36/VNAME,24/-
  560. *ENDTEXT
  561. *
  562. * - = UNUSED
  563. * WC = NUMBER OF WORDS IN THIS TABLE
  564. * NPUNAME = NPU NAME
  565. * G = OPERATOR GO REQUIRED FLAG
  566. * D = LONG TERM NPU DUMP FLAG
  567. * NID = NPU NODE ID
  568. * VNAME = NPU VARIANT NAME
  569. *
  570. *
  571. *E
  572. * 3.8.2 PHYSICAL LINK CROSS REFERENCE TABLE
  573. *
  574. *
  575. * THE PHYSICAL LINK CROSS REFERENCE TABLE IS A
  576. * RECORD ON THE NETWORK CONFIGURATION FILE WHICH IS
  577. * USED TO INDICATE THE PHYSICAL ELEMENTS(COUPLER AND
  578. * TRUNK) OF A NETWORK. THERE IS A 2-WORD ENTRY IN THE
  579. * TABLE FOR EACH COUPLER OR TRUNK.
  580. * THE TABLE HAS THE FOLLOWING FORMAT:
  581. *
  582. *TEXT
  583. *T WORD+0 42/"PHYLINK",18/0
  584. *T WORD+1 48/-,12/WC
  585. *T WORD+2 42/PLNAME,1/T,1/E,8/NUMBER,8/NID
  586. *T WORD+3 42/PLHNAME,1/S,1/L,8/P2PN,8/N2NID
  587. *ENDTEXT
  588. *
  589. * WC = NUMBER OF WORDS IN TABLE
  590. * PLNAME = COUPLER/TRUNK NAME
  591. * T = LINK TYPE: 0=COUPLER, 1=TRUNK
  592. * E = ENTRY STATE.
  593. * FOR COUPLER ENTRY:
  594. * 0 - PRIMARY COUPLER
  595. * 1 - SECONDARY COUPLER
  596. * FOR TRUNK ENTRY:
  597. * 0 - NOLOAD NOT SPECIFIED
  598. * 1 - NOLOAD SPECIFIED
  599. * NUMBER = FOR COUPLER ENTRY:
  600. * HOST NODE NUMBER
  601. * FOR TRUNK ENTRY:
  602. * N1 NODE NUMBER
  603. * NID = NODE ID/NUMBER
  604. * PLHNAME = HOST NUMBER OF THIS COUPLER
  605. * S = TRUNK STATUS: 0-ENABLED, 1-DISABLED
  606. * P2PN = P2 PORT NUMBER
  607. * N2NID = N2 NODE ID/NUMBER
  608. *
  609. *
  610. *E
  611. * 3.9 NETWORK DUMP FILE (NDF)
  612. *
  613. * THE NPU-DUMP-FILE (NDF) IS A SINGLE-RECORD SEQUENTIAL FILE
  614. * CREATED BY NS AS A DIRECT ACCESS PERMANENT FILE DURING AN
  615. * NPU DUMP PROCEDURE. NS USES THE FOLLOWING CONSTRAINED
  616. * NAMING SCHEME TO GENERATE A 7-CHARACTER PERMANENT FILE
  617. * NAME FOR THE NPU DUMP FILE:
  618. *
  619. * NP(DN)(NIN)
  620. *
  621. * DN = A 2-DIGIT HEXADECIMAL DUMP NUMBER WHOSE INITIAL
  622. * VALUE IS DETERMINED BY NS AT INITIALIZATION TIME
  623. * BY SEARCHING THE PERMANENT FILE CATALOG FOR THE
  624. * FIRST AVAILABLE DUMP NUMBER.
  625. * THE NUMBER IS CONSECUTIVELY ASSIGNED WHEN
  626. * NPU DUMP FILES ARE CREATED.
  627. * NIN = A 3-DIGIT DECIMAL NETWORK INVOCATION NUMBER
  628. * WHICH IS PASSED TO NS AS A CONTROL STATEMENT
  629. * PARAMETER.
  630. *
  631. * THE NDF IS WRITTEN AS A SINGLE-RECORD SEQUENTIAL FILE
  632. * WITH A PREFIX TABLE FOLLOWED BY MULTIPLE CONTIGUOUS
  633. * NPU DUMP BLOCKS(NDB). EACH NDB MAY CONSIST OF UP TO
  634. * 64 DUMP PACKETS EACH OF WHICH MAY CONTAIN UP TO 105 NPU
  635. * WORDS. THE DUMP-PACKETS WITHIN AN NDB ARE NOT NECESSARILY
  636. * ARRANGED IN ASCENDING ORDER.
  637. *
  638. * THE NDF FORMAT:
  639. *
  640. *TEXT
  641. *T 60/ PREFIX TABLE
  642. *T 60/ DUMP BLOCK HEADER
  643. *T 60/ DUMP PACKET 1
  644. *T 60/ .
  645. *T 60/ .
  646. *T 60/ .
  647. *T 60/ .
  648. *T 60/ DUMP PACKET N (UP TO 64)
  649. *T 60/ .
  650. *T 60/ .
  651. *T 60/ .
  652. *T 60/ .
  653. *T 60/ NPU DUMP BLOCK M
  654. *T 60/ EOR
  655. *T 60/ EOF
  656. *ENDTEXT
  657. *
  658. *
  659. *
  660. * THE PREFIX TABLE HAS THE FOLLOWING FORMAT:
  661. *
  662. *TEXT
  663. *T WORD+0 12/"7700",12/"0020",36/0
  664. *T WORD+1 42/NDFPFN,18/0
  665. *T WORD+2 60/ DATE
  666. *T WORD+3 60/ TIME
  667. *T WORD+4 60/ OPS
  668. *T WORD+5 42/ PRNAME,18/ PRVER
  669. *T WORD+6 30/ PRLEV,30/-
  670. *T WORD+7 60/
  671. *T WORD+8 60/ TITLE
  672. *T WORD+15 42/ NPUNAME,1/0,17/NPUPREG
  673. *T WORD+16 36/ NPUVAR,12/NPUID,12/NPUHALT
  674. *ENDTEXT
  675. *
  676. * NDFPFN = NDF PERMANENT FILE NAME
  677. * DATE = DATE THE FILE WAS CREATED, LEFT JUSTIFIED
  678. * WITH BLANK FILLED
  679. * TIME = TIME THE FILE WAS CREATED, LEFT JUSTIFIED
  680. * WITH BLANK FILLED
  681. * OPS = NAME AND VERSION NUMBER OF THE OPERATING
  682. * SYSTEM UNDER WHICH THE FILE WAS CREATED
  683. * PRNAME = NAME OF THE PROGRAM THAT CREATED THE FILE
  684. * PRVER = VERSION OF THE PROGRAM THAT CREATED THE FILE
  685. * PRLEV = MODIFICATION LEVEL OF THE PROGRAM THAT CREATED
  686. * THE FILE
  687. * TITLE = TITLE FO THE FILE. 70 CHARACTERS OR LESS.
  688. * NPUNAME = NPU NAME
  689. * NPUPREG = CONTENT OF NPU P-REGISTER
  690. * NPUVAR = NPU VARIANT NAME
  691. * NPUID = NPU NODE ID
  692. * NPUHALT = NPU HALT CODE IN HEXADECIMAL DIGIT
  693. *
  694. * EACH NPU DUMP BLOCK(NDB) HAS A HEADER WITH THE FOLLOWING
  695. * FORMAT:
  696. *
  697. *TEXT
  698. *T 3/BT,9/BC,24/BA,24/EA
  699. *ENDTEXT
  700. *
  701. * BT = DUMP BLOCK TYPE
  702. * 1- BASE FILE 1 REGISTERS
  703. * 2- BASE FILE 2 REGISTERS
  704. * 4- MACROMEMORY
  705. * BC = BATCH COUNT
  706. * NUMBER OF DUMP PACKETS IN NPU DUMP BLOCK
  707. * BA = FWA OF NPU MEMORY DUMP BLOCK
  708. * EA = LWA OF NPU MEMORY DUMP BLOCK
  709. *
  710. * NPU DUMP PACKET FORMAT:
  711. *
  712. *TEXT
  713. *T 12/WC,12/HC,12/0,24/BA
  714. *T 16/NPU WORD 0,16/NPU WORD 1,16/NPU WORD 2,12/ETC
  715. *T 60/ .
  716. *T 60/ .
  717. *T 60/ UP TO 105 WORDS
  718. *T 60/ .
  719. *T 60/ .
  720. *ENDTEXT
  721. *
  722. * WC = NUMBER OF WORDS IN PACKET
  723. * HC = NUMBER OF HEX WORDS IN PACKET
  724. * BA = FWA OF NPU MEMORY IN PACKET
  725. *
  726. *
  727. *E
  728. * 3.10 NETWORK LOAD FILE (NLF)
  729. *
  730. * THE NLF CONTAINS ONE OR MORE LOGICAL RECORDS OF THE
  731. * FOLLOWING CCP CODE ENTITIES FOR ALL THE NPUS IN THE
  732. * NETWORK THAT CAN BE LOADED BY A GIVEN NS:
  733. *
  734. * - PICB(S) PROGRAM INITIATION CONTROL
  735. * BLOCK WHICH CONTAINS DIRECTIVES
  736. * FOR NPU DUMP/LOAD PROCEDURE.
  737. *
  738. * - CCP LOAD MODULE(S) MICROMEMORY CODE, MACROMEMORY
  739. * CODE, STARTUP DIAGNOSTIC, SYSTEM
  740. * AUTOSTART MODULE OR DUMP BOOTSTRAP.
  741. *
  742. * - CCP OVERLAY MODULE(S) DUMP/LOAD OVERLAY FOR REMOTE
  743. * NPU DUMP/LOAD OR DIAGNOSTIC OVERLAYS.
  744. *
  745. * THE NLF IS ORGANIZED AS A RANDOM ACCESS FILE WITH AN OPLD.
  746. * THE FIRST RECORD OF EACH CCP CODE ENTITY HAS AN ENTRY IN
  747. * THE OPLD, WHILE THE REMAINING RECORDS, IF ANY, ARE ACCESSED
  748. * SEQUENTIALLY AND DO NOT HAVE CORRESPONDING ENTRIES IN THE OPLD.
  749. *
  750. *
  751. * NLF OPLD
  752. *
  753. * +-----------------+ +------------+
  754. * I HEADER RECORD I I HEADER I
  755. * +-----------------+ +------------+
  756. * I EOR I +--------+ ENTRY 1 I
  757. * +-----------------+ I +------------+
  758. * ICCP CODE ENTITY 1I<----------+ I-----+ ENTRY 2 I
  759. * I RECORD 1 I I +------------+
  760. * +-----------------+ I I . I
  761. * I EOR I I I . I
  762. * +-----------------+ I I . I
  763. * I . I I +------------+
  764. * I . I I +-+ ENTRY N I
  765. * I . I I I +------------+
  766. * +-----------------+ I I I I
  767. * ICCP CODE ENTITY 1I I I +------------+
  768. * I RECORD N I I I
  769. * +-----------------+ I I
  770. * I EOR I I I
  771. * +-----------------+ I I
  772. * I PICB X I<-------------+ I
  773. * I FOR NPU LOAD I I
  774. * I VARIANT X I I
  775. * +-----------------+ I
  776. * I EOR I I
  777. * +-----------------+ I
  778. * ICCP CODE ENTITY NI<-----------------+
  779. * I RECORD 1 I
  780. * +-----------------+
  781. * I . I
  782. * I . I
  783. * I . I
  784. * +-----------------+
  785. * I OPLD I
  786. * +-----------------+
  787. * I EOR I
  788. * +-----------------+
  789. * I EOF I
  790. * +-----------------+
  791. * I EOI I
  792. * +-----------------+
  793. *
  794. * THE HEADER RECORD CONTAINS THE "7700" TABLE. FOR
  795. * THE LAYOUT OF IT, REFER TO THE NDF.
  796. *
  797. * NS READS THE PICB DIRECTIVES.
  798. * EACH PICB HAS THE FOLLOWING FORMAT:
  799. *
  800. *
  801. * 5 2
  802. * 9 4 0
  803. * +---------------------+--------------+
  804. * I RNAME I 0 I
  805. * +---------------------+--------------+
  806. * I LSPCB I LLPCB I LDPCB I NDCB ADRI
  807. * +------------------------------------+
  808. * I "DPCB" I
  809. * +------------------------------------+
  810. * I DPCB DIRECTIVES I
  811. * I I
  812. * I I
  813. * I I
  814. * I I
  815. * I I
  816. * +------------------------------------+
  817. * I END DIRECTIVE I
  818. * +------------------------------------+
  819. * I "LPCB" I
  820. * +------------------------------------+
  821. * I LPCB DIRECTIVES I
  822. * I I
  823. * I I
  824. * I I
  825. * I I
  826. * +------------------------------------+
  827. * I END DIRECTIVE I
  828. * +------------------------------------+
  829. * I "SPCB" I
  830. * +------------------------------------+
  831. * I SPCB DIRECTIVES I
  832. * I I
  833. * I I
  834. * I I
  835. * I I
  836. * +------------------------------------+
  837. * I END DIRECTIVE I
  838. * +------------------------------------+
  839. *
  840. * RNAME = RECORD NAME, SAME AS NPU LOAD VARIANT NAME,
  841. * DISPLAY-CODED, LEFT-JUSTIFIED AND ZERO-FILLED.
  842. * LSPCB = SIZE OF SPCB
  843. * LLPCB = SIZE OF LPCB
  844. * LDPCB = SIZE OF DPCB
  845. * NDCB = ADDRESS OF NPU DUMP CONTROL BLOCK IN NPU MEMORY
  846. * DPCB = DUMP PROCEDURE CONTROL BLOCK
  847. * LPCB = LOAD PROCEDURE CONTROL BLOCK
  848. * SPCB = SAM-LOAD PROCEDURE CONTROL BLOCK
  849. *
  850. *
  851. *E
  852. * 4.0 OVERVIEW
  853. *
  854. * A SMALL BOOTSTRAP PROGRAM (SAM-P) IS INITIATED IN THE NPU
  855. * TO COMMUNICATE THE REQUEST FOR INITIALIZATION TO A NETWORK
  856. * NEIGHBOR COMPONENT (NPU OR PIP). A NEIGHBOR NPU OR PIP
  857. * SENDS A REQUEST FOR NPU INITIALIZATION (NPU/IN) TO THE NS
  858. * PROGRAM OF ANY ACCESSIBLE HOST.
  859. *
  860. * NS DETERMINES IF A DUMP IS TO BE TAKEN, CONTROLS THE DUMP
  861. * PROCESS IF REQUESTED, CONTROLS THE LOAD PROCESS AND ISSUES
  862. * THE ORDER TO START THE NEWLY LOADED SOFTWARE.
  863. *
  864. * DUMP AND LOAD DATA IS EXCHANGED BETWEEN NS AND SAM-P BY
  865. * MEANS OF NPU DATA SERVICE MESSAGES (NPU/DT). NS WRITES
  866. * THE DUMP DATA TO A NETWORK DUMP FILE (NDF) AND READS LOAD
  867. * DATA FROM THE NETWORK LOAD FILE (NLF). NDF AND NLF ARE
  868. * PERMANENT FILES ON THE HOST-S MASS STORAGE DEVICE. NDF IS
  869. * LATER PROCESSED BY THE NETWORK DUMP ANALYZER (NDA) WHILE
  870. * NLF MUST HAVE BEEN CREATED PREVIOUSLY BY THE NETWORK LOAD
  871. * FILE GENERATOR (LFG). NDA AND LFG ARE BATCH UTILITY
  872. * PROGRAMS PROVIDED FOR NETWORK SUPPORT.
  873. *
  874. * ALSO GENERATED BY A BATCH RUN OF THE NETWORK DEFINITION
  875. * LANGUAGE (NDL) PROCESSOR IS THE NETWORK CONFIGURATION FILE
  876. * (NCF). BESIDES OTHER INFORMATION USED BY THE COMMUNICATION
  877. * SUPERVISOR (CS), IT CONTAINS A PREFORMATTED NPU CONFIGURATION
  878. * BLOCK (NCB) FOR EACH NPU TO BE LOADED. THE PROPER NCB IS
  879. * SELECTED AND APPENDED TO THE LOAD DATA BY NS DURING THE
  880. * LOAD PROCESS. SEE NDLP IMS FOR A DESCRIPTION OF THE NCB.
  881. *
  882. * ONCE SUCCESSFULLY LOADED, THE NEWLY LOADED NPU IS STARTED.
  883. * THE NPU USES THE NCB INFORMATION TO SET ITS NODE NUMBER AND
  884. * TO CREATE VARIOUS CONTROL BLOCKS AND ROUTING TABLES WHICH
  885. * DEFINE THE LINKS TO THE HOST(S) AND TO THE OTHER NPUS AS
  886. * WELL AS THE PATH(S) TO A CS.
  887. *
  888. *
  889. *E
  890. * 4.1 INITIATION OF LOCAL NPU DUMP/LOAD PROCESS BY SAM
  891. *
  892. * IF THE NPU IS EQUIPPED WITH A SAM-C BOARD, ALL LOAD/DUMP
  893. * REQUESTS MUST BE INITIATED BY THE SAM BOOTSTRAP PROGRAM.
  894. * REQUESTS VIA A COUPLER ARE MADE BY SETTING THE
  895. * "INITIALIZATION" STATUS CODE INTO THE NPU STATUS WORD
  896. * REGISTER OF THE COUPLER. THE NEIGHBOR COMPONENT IS THE
  897. * PERIPHERAL PROCESSOR INTERFACE PROGRAM (PIP).
  898. * A PIP, SENSING SUCH AN NPU REQUEST FOR INITIALIZATION,
  899. * FORWARDS THE REQUEST TO NS IN THE FORM OF AN NPU/IN/C
  900. * (NPU INITIALIZATION SM COMMAND).
  901. *
  902. *
  903. *E
  904. * 4.2 INITIATION OF LOCAL NPU DUMP/LOAD PROCESS BY PIP
  905. *
  906. * FOR NPUS WITHOUT SAM-C BOARDS, PIP MAINTAINS AN NPU DEAD
  907. * TIMER. THIS TIMER IS RESTARTED AFTER EVERY SUCCESSFUL
  908. * DIALOGUE WITH THE NPU. A PERIODIC "IDLE" DIALOGUE IS FORCED
  909. * IN ABSENCE OF ANY DATA EXCHANGES. IF THE DEAD TIMER EXCEEDS
  910. * 20 SECONDS, PIP ASSUMES THE NPU HAS FAILED. IT ISSUES AN
  911. * NPU/IN/C (B) (NPU INITIALIZATION SM REQUEST FOR SAM-P
  912. * BOOTSTRAP) TO NS.
  913. *
  914. * THE NPU/IN/C (B) CAUSES NS TO INITIATE THE LOAD OF THE SAM-P
  915. * BOOTSTRAP INTO THE NPU. THE BOOTSTRAP IS FOUND ON THE NLF
  916. * AS PREFORMATTED 105-NPU-WORD SEGMENTS WHICH ARE SENT TO PIP
  917. * AS NPU/DT/R (L) SERVICE MESSAGES. THESE SEGMENTS ARE SENT
  918. * IN BATCHES, WHERE THE BATCH COUNT PARAMETER IN THE LAST
  919. * SEGMENT CAUSES AN NPU/DT/N (L) RESPONSE FROM PIP.
  920. *
  921. * LOADING OF SAM-P BY NS IS CONTROLLED BY THE SPCB (SAM-LOAD
  922. * PROCEDURE CONTROL BLOCK). THIS SPCB IS CONTAINED IN THE
  923. * PICB (PROGRAM INITIATION CONTROL BLOCK) FOR THE NPU IN
  924. * THE NETWORK LOAD FILE (NLF).
  925. *
  926. *
  927. *E
  928. * 4.3 REMOTE NPU DUMP/LOAD PROCESS
  929. *
  930. * A NEIGHBOR NPU, SENSING A REMOTE NPU REQUEST FOR
  931. * INITIALIZATION VIA THE CDCCP TRUNK PROTOCOL, SENDS
  932. * AN NPU/IN/R (NPU INITIALIZATION SM REQUEST) TO NS.
  933. * NS DISTINGUISHES A REMOTE NPU DUMP/LOAD REQUEST FROM
  934. * A LOCAL NPU DUMP/LOAD REQUEST VIA THE APPLICATION
  935. * BLOCK HEADE ID R WORD OF THE NPU/IN. A SOURCE NODE ID (SN)
  936. * EQUALS THE DESTINATION NODE ID (DN) WOULD INDICATE
  937. * A REQUEST FOR A LOCAL NPU DUMP/LOAD. NS DETERMINES
  938. * THE REMOTE NPU THAT NEEDS THE INITIALIZATION FROM THE
  939. * SOURCE NODE ID OF THE APPLICATION BLOCK HEADER OF
  940. * NPU/IN/R AND FROM THE PORT NUMBER SPECIFIED AS A PARAMETER
  941. * IN NPU/IN/R. THIS DETERMINATION IS ACCOMPLISHED BY
  942. * SEARCHING THE NODE CONNECTION TABLE (NCT).
  943. *
  944. * NS THEN MAKES SURE THAT IT DOES NOT ALREADY HAVE AN NPU
  945. * ACTIVITY CONTROL BLOCK (NAT) FOR THIS NPU. IF THERE IS
  946. * ALREADY AN NAT, THE PREVIOUS ACTIVITY IS ABORTED. NS
  947. * THEN INCREMENTS THE LOAD SEQUENCE NUMBER (LSN) IT MAINTAINS
  948. * FOR THIS NPU. THE LSN IS INCLUDED IN NPU/DT MESSAGES AND
  949. * SERVES TO PREVENT MESSAGES OF AN EARLIER LOAD SEQUENCE FROM
  950. * INTERFERING WITH A CURRENT ONE.
  951. *
  952. * THE PROCESS CONTINUES WITH THE DETERMINATION OF WHETHER OR
  953. * NOT A DUMP SHALL BE TAKEN, FOLLOWED BY THE DUMP SM SEQUENCE
  954. * IF APPLICABLE AND WITH THE LSN. ALL ACTIONS ARE DICTATED BY
  955. * NS, THE NEIGHBOR NPU MUST ONLY PASS THE VARIOUS NPU/DT/R
  956. * (NPU DATA SM REQUESTS) TO SAM IN THE REMOTE NPU AND PASS
  957. * NPU/DT/N RESPONSES FROM SAM IN THE REMOTE NPU TO NS AS
  958. * DESCRIBED IN MORE DETAIL IN SECTIONS 4.4 AND 4.5.
  959. *
  960. * THE LOAD/DUMP PROCESS IS TERMINATED BY NS ONCE THE NPU
  961. * SOFTWARE HAS BEEN SUCCESSFULLY LOADED AND STARTED OR
  962. * WHEN, DUE TO AN UNRECOVERABLE FAILURE, IS UNABLE TO
  963. * CONTINUE. IN BOTH TERMINATION CASES, THE NAT IS RELEASED
  964. * AND THE NEIGHBOR NPU IS NOTIFIED BY A NPU/IN/N (NPU
  965. * INITIALIZATION SM NORAML RESPONSE).
  966. *
  967. *
  968. *E
  969. * 4.4 DUMP PROCEDURE
  970. *
  971. * 4.4.1 DUMP DECISION
  972. *
  973. * THE FIRST DECISION NS MUST MAKE AFTER IT HAS RECEIVED AN
  974. * NPU/IN/R IS TO DETERMINE WHETHER OR NOT A DUMP SHALL BE
  975. * TAKEN. THIS DECISION IS DEPENDANT ON FOUR VARIABLE:
  976. *
  977. * 1) THE "RELOAD DUMP FLAG" OBTAINED FROM THE NDCB IN NPU
  978. * MEMORY. WHENEVER THIS FLAG IS SET TO EITHER "YY" OR
  979. * "NN", NS CAN ASSUME IT IS OBEYING AN OPERATOR "LOAD"
  980. * COMMAND, AND WILL THEREFORE OBEY THE "YY" OR "NN"
  981. * DIRECTION WITHOUT FURTHER CONSIDERATIONS.
  982. *
  983. * 2) THE LENGTH OF TIME SINCE THE NEXT-TO-LAST LOAD OF THIS
  984. * NPU BY THIS NS. EXCEPT FOR THE OPERATOR "LOAD" COMMANDS,
  985. * NS WILL ATTEMPT TO PREVENT FLOODS OF DUMPS FROM AN
  986. * OSCILLATING NPU. THIS WILL BE ACCOMPLISHED BY INHIBITING
  987. * DUMPS AFTER MORE THAN TWO LOAD REQUESTS ARE RECEIVED FROM
  988. * AN NPU IN 8 MINUTES. THIS WILL STILL GIVE OPPORTUNITY TO
  989. * OBTAIN ONE DUMP FROM AN NPU THAT COMES DOWON AS SOON AS
  990. * IT IS LOADED, WHILE STOPPING THE SUBSEQUENT FLOOD THAT CAN
  991. * OCCUR UNTIL AN OPERATOR DISABLES A COUPLER OR A TRUNK.
  992. *
  993. * 3) A "NETWORK STARTUP MODE" PARAMETER (FDP) THAT IS ENTERED
  994. * BY THE HOST OPERATOR WHEN THE HOST NETWORK SOFTWAE IS
  995. * STARTED. IN ADDITION TO THE "NORMAL" MODE OF OPERATION,
  996. * NS WILL RECOGNIZE "FORCE DUMP" AND "INHIBIT DUMP" MODES,
  997. * WHEN IT IS STARTED. (THESE ARE GLOBAL FOR NS, AND NOT
  998. * ON AN INDIVIDUAL NPU BASIS). NS WILL RESET THE MODE BACK
  999. * TO "NORMAL" 10 MINUTES AFTER IT IS STARTED.
  1000. *
  1001. * 4) THE "LONG TERM DUMP FLAG" OBTAINED FROM THE NDCB IN
  1002. * NPU MEMORY.
  1003. *
  1004. * THE RULES BY WHICH NS WILL MAKE THE DECISION ON WHETHER OR
  1005. * NOT TO DUMP ARE SUMMARIZED IN THE FOLLOWING DECISION TABLE:
  1006. *
  1007. *
  1008. * NS RULES FOR NPU DUMPING
  1009. * ------------------------
  1010. *
  1011. * CONDITIONS I1 2 3 4 5 6 7 8 9 10 11 12
  1012. * -------------------------+-----------------------------------
  1013. * "RELOAD" DUMP FLAG IYY NN G G G G 0 0 0 0 0 0
  1014. * I
  1015. * -------------------------+-----------------------------------
  1016. * THIS NPU LOADED TWICE BY I- - Y N N N Y N N N N N
  1017. * THIS NS IN LAST 8 MIN I
  1018. * -------------------------+-----------------------------------
  1019. * STARTUP MODE I- - - D ND NM - D ND NM NM NM
  1020. * I
  1021. * -------------------------+-----------------------------------
  1022. * LONG TERM DUMP FLAG I- - - - - - - - - YY NN G
  1023. * I
  1024. * -------------------------+-----------------------------------
  1025. * ACTION: DUMP IY N N Y N Y N Y N Y N Y
  1026. *
  1027. * - = ANY VALUE
  1028. * G = GARBAGE
  1029. * NM = NORMAL MODE
  1030. * D = FORCED DUMP MODE
  1031. * ND = INHIBIT DUMP MODE
  1032. *
  1033. *E
  1034. * 4.4.2 DUMP SM SEQUENCE
  1035. *
  1036. * AN NPU DUMP PROCEDURE IS DICTATED BY DIRECTIVES SPECIFIED
  1037. * IN THE DUMP PROCEDURE CONTROL BLOCK (DPCB). NS WOULD
  1038. * ISSUE NPU/DT/R (D) (NPU DUMP DATA SM REQUESTS) AS SPECIFIED
  1039. * IN THE DPCB.
  1040. *
  1041. * EACH ENTRY IN THE DPCB REQUESTING THE TRANSMITTAL OF A
  1042. * BLOCK WHICH EXCEEDS 105 NPU WORDS (OF 16 BITS) IS DIVIDED
  1043. * INTO A BATCH OF NPU/DT/R (D) SERVICE MESSAGES. EACH OF
  1044. * THESE SERVICE MESSAGES EITHER CARRIES UP TO 105 WORDS OF
  1045. * LOAD DATA OR REQUESTS A DUMP OF 105 WORDS OR LESS. THUS
  1046. * A DPCB REQUEST FOR A LARGE DUMP DATA BLOCK WILL CAUSE NS
  1047. * TO GENERATE MULTIPLE NPU/DT/R (D) REQUESTS, EACH ASKING
  1048. * FOR A MAXIMUM OF 105 WORDS TO BE RETURNED IN AN NPU/DT/N
  1049. * (D) RESPONSE.
  1050. *
  1051. * AN ABNORMAL RESPONSE FROM THE NPU FOR A LOAD BATCH OR DUMP
  1052. * SERVICE MESSAGE WILL CAUSE NS TO ABORT THE DUMP PROCEDURE.
  1053. *
  1054. * A DPCB DIRECTIVE CAN BE USED TO INDICATE TO NS WHEN ENOUGH
  1055. * OF THE DUMP PROCESS HAS BEEN COMPLETED TO MAKE IT WORTH
  1056. * WHILE TO SAVE THE DUMP FILE BEING CREATED. THIS INDICATION
  1057. * IS FLAGGED BY NS IN THE NAT. ANY UNRECOVERABLE FAILURE OR
  1058. * A REPEATED NPU/IN/R BEFORE THE FLAG IS SET CAUSES NS TO EVICT
  1059. * THE PARTIAL NDF. ANY SUCH INTERRUPTION AFTER THE FLAG HAS SET
  1060. * OR SUCCESSFUL COMPLETION OF THE FULL DUMP PROCEDURE CAUSES
  1061. * NS TO DISPOSE THE NDF AS A PERMANENT FILE.
  1062. *
  1063. * DUMP SM SEQUENCE
  1064. * ----------------
  1065. *
  1066. * CCP/PIP NS
  1067. * (FETCH/CHOOSE DPCB)
  1068. *
  1069. * -> N * NPU/DT/R (D)
  1070. * I ------------------<--<--<--<--<--
  1071. * I I
  1072. * PHASE I N * NPUIDTIN (D) I
  1073. * 1 I <----------------->-->-->-->-->------> TO NDF
  1074. * I I
  1075. * I I
  1076. * -> I
  1077. * I N * NPU/DT/R (L) I
  1078. * I <-----------------<--<--<--<--<--<---- FROM NLF
  1079. * I I
  1080. * I NPU/DT/N (L) I
  1081. * I -------------------------------->
  1082. * I I
  1083. * PHASE I I
  1084. * 2 I NPU/DT/R (S) I
  1085. * I <--------------------------------
  1086. * I
  1087. * I NPU/DT/N (S)
  1088. * I -------------------------------->
  1089. * I I
  1090. * -> I
  1091. * I N * NPU/DT/R (D) I
  1092. * I <-----------------<--<--<--<--<--
  1093. * I I
  1094. * PHASE I N * NPUIDTIN (D) I
  1095. * 3 I ------------------>-->-->-->-->------> TO NDF
  1096. * I I
  1097. * I I
  1098. * I I
  1099. * -> I
  1100. * V
  1101. *
  1102. * WHERE: 0<N<=64
  1103. * PHASE 1 = MACROMEMORY DUMP
  1104. * PHASE 2 = DUMP BOOTSTRAP LOAD
  1105. * PHASE 3 = MICROMEMORY DUMP
  1106. *
  1107. *
  1108. *E
  1109. * 4.5 LOAD PROCEDURE
  1110. *
  1111. * THE LOAD PROCEDURE IS STARTED EITHER DIRECTLY AFTER NS
  1112. * HAS RECEIVED A NPU/IN/R AND HAS DETERMINED THAT NO DUMP
  1113. * SHALL BE TAKEN OR AFTER THE DUMP PROCEDURE HAS
  1114. * TERMINATED, SUCCESSFULL OR NOT.
  1115. *
  1116. * A TYPICAL LOAD PROCEDURE IN ITSELF CONSISTS OF THREE
  1117. * DISTINCT ACTIVITIES:
  1118. *
  1119. * 1) LOADING THE CCP SOFTWARE. (THIS PART MAY BE OMITTED
  1120. * FOR SELF-LOADING NPUS).
  1121. *
  1122. * 2) LOADING THE NPU-CONFIGURATION-BLOCK (NCB) FROM THE NCF
  1123. * INTO NPU MEMORY. (MAY OMITTED FOR SELF-CONFIGURING NPUS)
  1124. *
  1125. * 3) RE-WRITING THE NDCB BACK INTO NPU MEMORY, AND STARTING
  1126. * THE NPU.
  1127. *
  1128. *E
  1129. * 4.5.1 LOAD SM SEQUENCE
  1130. *
  1131. * NS CONTROLS THE LOAD SM SEQUENCE AS SPECIFIED IN THE LPCB,
  1132. * NPU/DT/R (NPU DATA SM REQUESTS) ARE USED FOR ALL DATA
  1133. * COMMUNICATIONS AND TO TRANSMIT THE START COMMANDS.
  1134. *
  1135. * LOAD DATA IS SENT IN SEGMENTS OF MAXIMUM 105 NPU WORDS AS
  1136. * PREFORMATTED ON THE NLF. MANY SEGMENTS, EACH CONTAINED IN
  1137. * AN NPU/DT/R (L) SERVICE MESSAGE MAY BE SENT AS A BATCH.
  1138. * THE LAST NPU/DT/R (L) SEGMENT OF THE BATCH MUST CONTAIN
  1139. * THE BATCH COUNT (BC) PARAMETER WHICH CAUSES THE NPU TO
  1140. * RETURN AN NPU/DT/N (L) OR AN NPU/DT/A (L) RESPONSE. BATCH
  1141. * COUNT VALUE IS CURRENTLY SET AT 64. NS WILL ABORT THE LOAD
  1142. * PROCEDURE IF THE RESPONSE IS ABNORMAL.
  1143. *
  1144. * AFTER ALL LOAD DATA ENTRIES AND BEFORE THE ENTRY REQUESTING
  1145. * THAT CCP BE STARTED, THE LPCB FOR A NON-SELF-CONFIGURING NPU
  1146. * MUST CONTAIN AN ENTRY THAT REQUESTS A LOAD OF THE NCB FROM
  1147. * THE NCF. THIS ENTRY ALSO CONTAINS THE MAXIMUM ALLOWABLE
  1148. * NCB SIZE IN 16-BIT WORDS, WHICH NS USES TO CHECK THE SIZE OF
  1149. * THE NCB. THE LOAD IS ABORTED IF THE NCB IS TOO LARGE,
  1150. * OTHERWISE IT IS LOADED VIA AN NPU/DT/R (L) AND WHEN THIS
  1151. * IS ACKNOWLEDGED, THE START COMMAND IS TRANSMITTED. THE
  1152. * STARTED CCP BEGINS ITS INITIALIZATION. NS DOES NOT EXPECT
  1153. * A RESPONSE TO THIS START MESSAGE. THE LOAD PROCEDURE IS
  1154. * NOW COMPLETED AND NAT IS RELEASED.
  1155. *
  1156. * LOAD SM SEQUENCE
  1157. * ----------------
  1158. *
  1159. * CCP/PIP NS
  1160. * (FETCH/CHOOSE LPCB)
  1161. *
  1162. *
  1163. * -> N * NPU/DT/R (L)
  1164. * I <-----------------<--<--<--<--<-+<---- FROM NLF
  1165. * I I
  1166. * I I
  1167. * I NPU/DT/N (L) I
  1168. * I -------------------------------->
  1169. * I I
  1170. * PHASE I NPU/DT/R (S) I
  1171. * 1 I <--------------------------------
  1172. * I I
  1173. * I NPU/DT/N (S) I
  1174. * I -------------------------------->
  1175. * I I
  1176. * -> I
  1177. * I N * NPU/DT/R (L) I
  1178. * I <-----------------<--<--<--<--<--<---- FROM NLF
  1179. * I I
  1180. * I NPU/DT/N (L) I
  1181. * I -------------------------------->
  1182. * I I
  1183. * I I
  1184. * I N * NPU/DT/R (L) I
  1185. * I <-----------------<--<--<--<--<--<---- FROM NCF
  1186. * I
  1187. * PHASE I NPU/DT/N (L)
  1188. * 2 I -------------------------------->
  1189. * I I
  1190. * I I
  1191. * I NPU/DT/R (L) I
  1192. * I <--------------------------------<---- NDCB IMAGE
  1193. * I
  1194. * I NPU/DT/N (L)
  1195. * I -------------------------------->
  1196. * I I
  1197. * I NPU/DT/R (S) I
  1198. * -> <--------------------------------
  1199. *
  1200. * WHERE: 0<N<=64
  1201. * PHASE 1 = MICROMEMORY LOAD
  1202. * PHASE 2 = MACROMEMORY LOAD
  1203. *
  1204. *
  1205. *E
  1206. * 4.6 NS STATE TABLE (DUMP/LOAD)
  1207. *
  1208. * THE NPU DUMP/LOAD ACTIVITY IS STATE TABLE DRIVEN.
  1209. *
  1210. *
  1211. * 4.6.1 NS STATE DIAGIAM
  1212. *
  1213. * NS STATE DIAGIAM
  1214. * ----------------
  1215. *
  1216. *
  1217. * ---------------------+----------+----------+----------+----------+
  1218. * STIMULUS (CODE) I (0)I (1)I (2)I (3)I
  1219. * _____________________I NPU/IN/C INPU/IN/R,CI NPU/DT/N I NPU/DT/A I
  1220. * NPU-STATE I (SAM I (NPU I (DUMP) I (DUMP) I
  1221. * (PRIMARY STATE) I LOAD) I LOAD) I I I
  1222. * SECONDARY STATE) I I I I I
  1223. * ---------------------+----------+----------+----------+----------+
  1224. * IDLE 0 I NS$N00 I NS$N00 I E I E I
  1225. * I I I I I
  1226. * ---------------------+----------+----------+----------+----------+
  1227. * WAITING FOR DUMP 1 I PCA I PCA I NS$N04 I NS$DAR I
  1228. * NDCB RESPONSE I I I I I
  1229. * ---------------------+----------+----------+----------+----------+
  1230. * (LOAD) 2 I PCA I PCA I E I E I
  1231. * WAITING FOR LOAD I I I I I
  1232. * SUD RESPONSE I I I I I
  1233. * ---------------------+----------+----------+----------+----------+
  1234. * (LOAD) 3 I PCA I PCA I E I E I
  1235. * WAITING FOR START I I I I I
  1236. * SUD RESPONSE I I I I I
  1237. * ---------------------+----------+----------+----------+----------+
  1238. * (LOAD) 4 I PCA I PCA I NS$N05 I NS$DAR I
  1239. * WAITING FOR DUMP I I I I I
  1240. * SUD RESPONSE I I I I I
  1241. * ---------------------+----------+----------+----------+----------+
  1242. * (LOAD) 5 I PCA I PCA I E I E I
  1243. * WAITING FOR LOAD I I I I I
  1244. * RESPONSE I I I I I
  1245. * ---------------------+----------+----------+----------+----------+
  1246. * (LOAD) 6 I PCA I PCA I E I E I
  1247. * WAITING FOR START I I I I I
  1248. * RESPONSE I I I I I
  1249. * ---------------------+----------+----------+----------+----------+
  1250. * (LOAD) 7 I PCA I PCA I E I E I
  1251. * WAITING FOR LOAD I I I I I
  1252. * NDCB RESPONSE I I I I I
  1253. * ---------------------+----------+----------+----------+----------+
  1254. * (DUMP) 8 I PCA I PCA I NS$N06 I NS$DAR I
  1255. * WAITING FOR DUMP I I I I I
  1256. * RESPONSE I I I I I
  1257. * ---------------------+----------+----------+----------+----------+
  1258. * (DUMP) 9 I PCA I PCA I E I E I
  1259. * WAITING FOR LOAD I I I I I
  1260. * RESPONSE I I I I I
  1261. * ---------------------+----------+----------+----------+----------+
  1262. * (DUMP) 10 I PCA I PCA I E I E I
  1263. * WAITING FOR START I I I I I
  1264. * RESPONSE I I I I I
  1265. * ---------------------+----------+----------+----------+----------+
  1266. * (SAM) 11 I PCA I E I E I E I
  1267. * WAITING FOR LOAD I I I I I
  1268. * RESPONSE I I I I I
  1269. * ---------------------+----------+----------+----------+----------+
  1270. *
  1271. *
  1272. *
  1273. *E
  1274. * ---------------------+----------+----------+----------+----------+
  1275. * STIMULUS (CODE) I 4 I 5 I 6 I 7 I
  1276. * _____________________I NPU/DT/N I NPU/DT/A I NPU/DT/N I NPU/DT/A I
  1277. * NPU-STATE I (LOAD) I (LOAD) I (START) I (START) I
  1278. * I I I I I
  1279. * I I I I I
  1280. * ---------------------+----------+----------+----------+----------+
  1281. * 0 I E I E I E I E I
  1282. * I I I I I
  1283. * ---------------------+----------+----------+----------+----------+
  1284. * 1 I E I E I E I E I
  1285. * I I I I I
  1286. * ---------------------+----------+----------+----------+----------+
  1287. * 2 I NS$N08 I NS$DAR I E I E I
  1288. * I I I I I
  1289. * ---------------------+----------+----------+----------+----------+
  1290. * 3 I E I E I NS$N13 I NS$DAR I
  1291. * I I I I I
  1292. * ---------------------+----------+----------+----------+----------+
  1293. * 4 I E I E I E I E I
  1294. * I I I I I
  1295. * ---------------------+----------+----------+----------+----------+
  1296. * 5 I NS$N08 I NS$DAR I E I E I
  1297. * I I I I I
  1298. * ---------------------+----------+----------+----------+----------+
  1299. * 6 I E I E I NS$N13 I NS$DAR I
  1300. * I I I I I
  1301. * ---------------------+----------+----------+----------+----------+
  1302. * 7 I NS$N09 I NS$DAR I E I E I
  1303. * I I I I I
  1304. * ---------------------+----------+----------+----------+----------+
  1305. * 8 I E I E I E I E I
  1306. * I I I I I
  1307. * ---------------------+----------+----------+----------+----------+
  1308. * 9 I NS$N08 I NS$DAR I E I E I
  1309. * I I I I I
  1310. * ---------------------+----------+----------+----------+----------+
  1311. * 10 I E I E I NS$N13 I NS$DAR I
  1312. * I I I I I
  1313. * ---------------------+----------+----------+----------+----------+
  1314. * 11 I NS$N08 I NS$DAR I E I E I
  1315. * I I I I I
  1316. * ---------------------+----------+----------+----------+----------+
  1317. *
  1318. *
  1319. * E = SET ERROR-CODE TO "PROTOCOL ERROR"
  1320. * PCA = SET ERROR-CODE TO "PREEMPTED"
  1321. * NS$N00 = PROCESS LOAD REQUEST
  1322. * NS$N04 = PROCESS NPU/DT/N (DUMP NDCB)
  1323. * NS$N05 = PROCESS NPU/DT/N (DUMP SUD) (NOT IMPLEMENTED FOR 6.1)
  1324. * NS$N06 = PROCESS NPU/DT/N (DUMP)
  1325. * NS$N08 = PROCESS NPU/DT/N (LOAD)
  1326. * NS$N09 = PROCESS NPU/DT/N (LOAD NDCB)
  1327. * NS$N13 = PROCESS NPU/DT/N (START)
  1328. * NS$DAR = PROCESS NPU/DT/A
  1329. *
  1330. *
  1331. *E
  1332. * 4.6.2 NOTES ON NS STATE TABLE
  1333. *
  1334. * . NS KEEPS AN ENTRY IN THE NPU TABLE (NPT) FOR EACH NPU
  1335. * THAT IS DEFINED IN THE NCF.
  1336. *
  1337. * . A "STATE" WILL ALWAYS BE DEFINED FOR EVERY NPU. NPUS
  1338. * WILL INITIALLY BE IN "IDLE" STATE.
  1339. *
  1340. * . WHEN AN NPU REQUESTS NS SERVICE (LOAD SAM, DUMP/LOAD NPU)
  1341. * NS CREATES AN NPU ACTIVITY TABLE (NAT) WHICH WILL BE DISCARDED
  1342. * WHEN THE ACTIVITY TERMINATES.
  1343. *
  1344. * . AN NPU WILL BE IN SOME "NON-IDLE" STATE WHEN IT IS BEING
  1345. * SERVICED BY NS.
  1346. *
  1347. * . FOR EACH NPU BEING SERVICED, NS KEEPS A 30-SECOND LOCAL
  1348. * RESPONSE TIMER AND A 2-MINUTE GLOBAL ACTIVITY TIMER TO
  1349. * ALLOW IT TO TIMEOUT AN ACTIVITY ON A "MISBEHAVING" NPU.
  1350. * THE RESPONSE TIMER IS STARTED WHENEVER NS SENDS OUT
  1351. * SERVICE MESSAGES WHICH WOULD REQUIRE A RESPONSE FROM A
  1352. * NPU/PIP. THE ACTIVITY TIMER IS STARTED WHEN NS INITIATES
  1353. * EITHER AN NPU DUMP PROCEDURE OR AN NPU LOAD PROCEDURE.
  1354. *
  1355. * . EVENTS THAT TRIGGER ACTIVITY ON AN NPU ARE SERVICE MESSAGES
  1356. * FROM NPU/PIP, OR EXPIRATION OF EITHER THE LOCAL RESPONSE
  1357. * TIMER OR THE GLOBAL ACTIVITY TIMER.
  1358. *
  1359. * . TRIGGER TO THE STATE TABLE ARE THE INCOMING SERVICE
  1360. * MESSAGES MENTIONED ABOVE. NS USES THE ADDRESSING
  1361. * INFORMATION IN THE SERVICE MESSAGE TEXT TO SEARCH THE
  1362. * NODE CONNECTION TABLE (NCT) WHICH IS DERIVED FROM THE
  1363. * PHYSICAL LINK CROSS REFERENCE TABLE ON NCF, TO IDENTIFY
  1364. * WHICH NPU THE SERVICE MESSAGE RELATES. IF THE SERVICE
  1365. * MESSAGE IS A RESPONSE FROM THE NPU/PIP, THEN NS CHECKS
  1366. * IF THE LOAD PATH AND LOAD SEQUENCE NUMBER IN THE SM
  1367. * MATCHES THE SETTING IN THE NAT. A NON-MATCH WOULD
  1368. * INDICATE THE MESSAGE TO BE A RESPONSE TO AN ACTIVITY
  1369. * PREVIOUSLY ABORTED BY NS.
  1370. *
  1371. * . CONTROL IS PASSED TO STATE TABLE PROCESSOR TO PERFORM THE
  1372. * ACTION APPROPRIATE FOR THAT STIMULUS/STATE.
  1373. *
  1374. * . NS OPERATES UNDER THE ASSUMPTION THAT AN NPU/PIP KNOWS
  1375. * WHAT IT IS DOING, THAT IS, IF A REQUEST IS RECEIVED FROM
  1376. * AN NPU THAT IS CURRENTLY BEING SERVICED, THE CURRENT
  1377. * ACTIVITY IS ABORTED, AND THE NEW REQUEST WILL BE HONORED.
  1378. *
  1379. * . ALL NS DUMP/LOAD ACTIVITY IS DICTATED BY PROCEDURE CONTROL
  1380. * BLOCKS (SPCB/DPCB/LPCB) IN THE PICB WHICH RESIDES IN THE
  1381. * NLF AND IDENTIFIED BY THE NPU VARIANT NAME. NS MAKES NO
  1382. * ASSUMPTIONS ABOUT THE ORDER IN WHICH IT WILL FIND DIRECTIVES
  1383. * IN A PROCEDURE CONTROL BLOCK. IT WILL SIMPLY DO WHATEVER
  1384. * ACTION IS DICTATED BY A PROCEDURE CONTROL BLOCK DIRECTIVE.
  1385. * A BAD PICB WITH DIRECTIVES OUT OF PROPER SEQUENCE WILL
  1386. * THEREFORE RESULT IN A BAD NPU DUMP/LOAD AND RESULTS ARE
  1387. * UNPREDICTABLE, BUT NO DIAGNOSTICS WILL BE ISSUED BY NS.
  1388. *
  1389. *
  1390. *E
  1391. * 4.7 STRUCTURED CHARTS
  1392. *
  1393. * THE FOLLOWING ARE STRUCTURED CHARTS FOR NS.
  1394. * NOT ALL ROUTINES ARE SHOWN, ONLY THE HIGH LEVEL CALLS
  1395. * ARE SHOWN. AND ALSO, UTILITY ROUTINES (E.G. TSB MANAGER
  1396. * ROUTINES, CHARACTER CONVERSION ROUTINES, ETC.) ARE NOT
  1397. * SHOWN.
  1398. *
  1399. *
  1400. * 4.7.1 NS EXECUTIVE
  1401. *
  1402. *
  1403. * +---------> NDLOVD
  1404. * I
  1405. * I
  1406. * +---------> NETCHECK
  1407. * I
  1408. * I
  1409. * +---------> NETWAIT
  1410. * I
  1411. * I
  1412. * +---------> RTIME
  1413. * I
  1414. * I
  1415. * NS$EXC ---------+---------> NS$SMP
  1416. * I
  1417. * I
  1418. * +---------> NS$OFF
  1419. * I
  1420. * I
  1421. * +---------> NS$SHD
  1422. * I
  1423. * I
  1424. * +---------> NS$FEC
  1425. * I
  1426. * I
  1427. * +---------> NS$MSG
  1428. *
  1429. *
  1430. * NS$EXC - NS EXECUTIVE
  1431. * NDLOVLD - OVERLAY LOADER
  1432. * NETCHECK - UPDATE NSUP WORD (AIP)
  1433. * NETWAIT - REQUEST NAM TO ROLLOUT PROGRAM (AIP)
  1434. * RTIME - GET REAL TIME CLOCK READING
  1435. * NS$SMP - SM PROCESSOR
  1436. * NS$OFF - DISCONNECT FROM NETWORK (NETOFF)
  1437. * NS$SHD - SHUTDOWN PROCESSOR
  1438. * NS$FEC - FORMAT ERROR CODE
  1439. * NS$MSG - MESSAGE DISPATCHER
  1440. *
  1441. *
  1442. *E
  1443. * 4.7.2 SM PROCESSOR
  1444. *
  1445. *
  1446. * +---------> NETGET
  1447. * I
  1448. * I
  1449. * +---------> NETREL
  1450. * I
  1451. * I
  1452. * NS$SMP ---------+---------> NS$NSM
  1453. * I
  1454. * I
  1455. * +---------> NS$HSM
  1456. * I
  1457. * I
  1458. * +---------> NS$FEC
  1459. *
  1460. *
  1461. * NS$SMP - SM PROCESSOR
  1462. * NETGET - RECEIVE NETWORK TRAFFIC (AIP)
  1463. * NETREL - RELEASE DEBUG TRACE FILE (AIP)
  1464. * NS$NSM - NETWORK SM PROCESSOR
  1465. * NS$HSM - HOST SM PROCESSOR
  1466. * NS$FEC - FORMAT ERROR CODE
  1467. *
  1468. *
  1469. *E
  1470. * 4.7.2.1 NETWORK SM PROCESSOR
  1471. *
  1472. *
  1473. * +---------> NS$NSS ---------> (1), (2), (3), (4),
  1474. * I (5), (6), (7), (8)
  1475. * I
  1476. * NS$NSM ---------+---------> NS$FEC
  1477. * I
  1478. * I
  1479. * +---------> NS$MSG
  1480. *
  1481. *
  1482. * NS$NSM - NETWORK SM PROCESSOR
  1483. * NS$NSS - NPU STATE TABLE PROCESSOR
  1484. * NS$FEC - FORMAT ERROR CODE
  1485. * NS$MSG - MESSAGE DISPATCHER
  1486. *
  1487. *
  1488. * (1) - PROCESS NPU LOAD REQUEST
  1489. *
  1490. * +---------> NS$FLR
  1491. * I
  1492. * I
  1493. * +---------> NS$INL
  1494. * I
  1495. * I
  1496. * +---------> NS$LSN
  1497. * I
  1498. * I
  1499. * +---------> NS$MSG
  1500. * I
  1501. * I
  1502. * +---------> NS$NAI
  1503. * I
  1504. * NS$N00 ---------I
  1505. * +---------> NS$SGT
  1506. * I
  1507. * I
  1508. * +---------> NS$SLT
  1509. * I
  1510. * I
  1511. * +---------> NS$XPD
  1512. * I
  1513. * I
  1514. * +---------> NS$FEC
  1515. * I
  1516. * I
  1517. * +---------> NETPUT
  1518. *
  1519. *
  1520. * NS$N00 - PROCESS NPU LOAD REQUEST
  1521. * NS$FLR - FIND LOAD RECORD
  1522. * NS$INL - INITIATE NPU LOAD
  1523. * NS$LSN - INCREMENT LOAD SEQUENCE NUMBER
  1524. * NS$MSG - MESSAGE DISPATCHER
  1525. * NS$NAI - INITIALIZE NPU ACTIVITY
  1526. * NS$SGT - START ACTIVITY TIMER
  1527. * NS$SLT - START RESPONSE TIMER
  1528. * NS$XPD - START NEXT XPCB DIRECTIVE
  1529. * NS$FEC - FORMAT ERROR CODE
  1530. * NETPUT - SEND NETWORK TRAFFIC
  1531. *
  1532. *
  1533. * (2) - PROCESS NPU/DT/N (DUMP NDCB)
  1534. *
  1535. * +---------> NS$IND
  1536. * I
  1537. * I
  1538. * +---------> NS$INL
  1539. * I
  1540. * NS$N04 ---------I
  1541. * +---------> NS$MSG
  1542. * I
  1543. * I
  1544. * +---------> NS$XPD
  1545. *
  1546. *
  1547. * NS$N04 - PROCESS NPU/DT/N (DUMP NDCB)
  1548. * NS$IND - INITIATE NPU DUMP
  1549. * NS$INL - INITIATE NPU LOAD
  1550. * NS$MSG - MESSAGE DISPATCHER
  1551. * NS$XPD - PROCESS NEXT XPCB DIRECTIVE
  1552. *
  1553. *
  1554. * (3) - PROCESS NPU/DT/N (DUMP SUD)
  1555. *
  1556. * ****NOT IMPLEMENTED FOR R6.1****
  1557. *
  1558. *
  1559. * (4) - PROCESS NPU/DT/N (DUMP)
  1560. *
  1561. * +---------> NS$SDB
  1562. * I
  1563. * I
  1564. * +---------> NS$SLT
  1565. * I
  1566. * NS$N06 ---------I
  1567. * +---------> NS$XPD
  1568. * I
  1569. * I
  1570. * +---------> NS$FEC
  1571. *
  1572. *
  1573. * NS$N06 - PROCESS NPU/DT/N (DUMP)
  1574. * NS$SDB - SEND DUMP BATCH
  1575. * NS$SLT - START RESPONSE TIMER
  1576. * NS$XPD - PROCESS NEXT XPCB DIRECTIVE
  1577. * NS$FEC - FORMAT ERROR CODE
  1578. *
  1579. *
  1580. * (5) - PROCESS NPU/DT/N (LOAD)
  1581. *
  1582. * +---------> NS$SLB
  1583. * I
  1584. * I
  1585. * NS$N08 ---------+---------> NS$SLT
  1586. * I
  1587. * I
  1588. * +---------> NS$XPD
  1589. *
  1590. *
  1591. * NS$N08 - PROCESS NPU/DT/N (LOAD)
  1592. * NS$SLB - SEND LOAD BATCH
  1593. * NS$SLT - START RESPONSE TIMER
  1594. * NS$XPD - PROCESS NEXT XPCB DIRECTIVE
  1595. *
  1596. *
  1597. * (6) - PROCESS NPU/DT/N (LOAD NDCB)
  1598. *
  1599. * +---------> NETPUT
  1600. * I
  1601. * I
  1602. * NS$N09 ---------+---------> NS$FBH
  1603. * I
  1604. * I
  1605. * +---------> NS$XPD
  1606. *
  1607. *
  1608. * NS$N09 - PROCESS NPU/DT/N (LOAD NDCB)
  1609. * NETPUT - SEND NETWORK TRAFFIC
  1610. * NS$FBH - FORMAT ABH
  1611. * NS$XPD - PROCESS NEXT XPCB DIRECTIVE
  1612. *
  1613. *
  1614. * (7) - PROCESS NPU/DT/N (START)
  1615. *
  1616. * NS$N13 ---------> NS$XPD
  1617. *
  1618. *
  1619. * NS$N13 - PROCESS NPU/DT/N (START)
  1620. * NS$XPD - PROCESS NEXT XPCD DIRECTIVE
  1621. *
  1622. *
  1623. * (8) - PROCESS NPU/DT/A
  1624. *
  1625. * +---------> NS$FBH
  1626. * I
  1627. * I
  1628. * +---------> NS$FEC
  1629. * I
  1630. * NS$DAR ---------I
  1631. * +---------> NS$MSG
  1632. * I
  1633. * I
  1634. * +---------> NETPUT
  1635. *
  1636. *
  1637. * NS$DAR - PROCESS NPU/DT/A
  1638. * NS$FBH - FORMAT ABH
  1639. * NS$FEC - FORMAT ERROR CODE
  1640. * NS$MSG - MESSAGE DISPATCHER
  1641. * NETPUT - SEND NETWORK TRAFFIC
  1642. *
  1643. *
  1644. *E
  1645. * 4.7.2.2 HOST SM PROCESSOR
  1646. *
  1647. * +---------> NS$HCP
  1648. * I
  1649. * I
  1650. * +---------> NS$STR
  1651. * I
  1652. * I
  1653. * +---------> NS$PAG
  1654. * I
  1655. * I
  1656. * +---------> NS$BRK
  1657. * I
  1658. * I
  1659. * +---------> NS$END
  1660. * I
  1661. * NS$HSM ---------I
  1662. * +---------> NS$PCM
  1663. * I
  1664. * I
  1665. * +---------> NS$HHI
  1666. * I
  1667. * I
  1668. * +---------> NS$HST
  1669. * I
  1670. * I
  1671. * +---------> NS$HFI
  1672. * I
  1673. * I
  1674. * +---------> NS$HNO
  1675. *
  1676. *
  1677. * NS$HSM - HOST SM PROCESSOR
  1678. * NS$HCP - HOP COMMAND PROCESSOR
  1679. * NS$STR - PROCESS HOP/START
  1680. * NS$PAG - PROCESS HOP/PAGE
  1681. * NS$BRK - PROCESS HOP/BRK
  1682. * NS$END - PROCESS HOP/END
  1683. * NS$PCM - PROGRAM COMMAND PROCESSOR
  1684. * NS$HHI - HISTORY COMMAND PROCESSOR
  1685. * NS$HST - STATUS COMMAND PROCESSOR
  1686. * NS$HFI - FILE COMMAND PROCESSOR
  1687. * NS$HNO - NO FILE COMMAND PROCESSOR
  1688. *
  1689. *
  1690. *E
  1691. * 5.0 MISCELLANOUS
  1692. *
  1693. * 5.1 NS CONTROL STATEMENT PARAMETERS
  1694. *
  1695. * NS CONTROL CARD HAS THE FOLLOWING FORMAT:
  1696. *
  1697. * NS(NIN=NN,FDP=OPTIONS,RT=OPTIONS,MC=NN)
  1698. *
  1699. *
  1700. * NIN = NN A ONE TO THREE DIGIT DECIMAL NETWORK
  1701. * -INVOCATION-NUMBER ASSIGNED BY NAMI
  1702. * AT NETWORK STARTUP TIME. THIS PARAMETER
  1703. * IS REQUIRED.
  1704. *
  1705. * FDP=OPTIONS IS THE FORCED DUMP OPTION. IF YES IS
  1706. * SPECIFIED THEN, WITHIN THE FIRST 10-MINUTES
  1707. * IN THE ABSENCE OF OTHER NPU DUMPING
  1708. * CONDITIONS, NPUS WILL BE DUMPED BEFORE LOADING
  1709. * TAKES PLACE. LEGAL VALUES ARE: YES OR NO.
  1710. * IF NOT SPECIFIED, NO WILL BE ASSUMED.
  1711. *
  1712. * RT =OPTIONS IS THE RELEASE TRACE FILE OPTION. IF YES
  1713. * SPECIFIED, NPD/REL/R WILL BE SENT TO NAM
  1714. * TO REQUEST ALL NETWORK PROGRAMS TO RELEASE
  1715. * THEIR TRACE FILES WHENEVER NS DUMPS AN NPU.
  1716. * LEGAL VALUES ARE YES OR NO. DEFAULT IS YES.
  1717. *
  1718. * MC = NN A ONE TO THREE DIGIT DECIMAL MESSAGE COUNT.
  1719. * THIS PARAMETER IS OPTIONAL.
  1720. *
  1721. *
  1722. *E
  1723. * 5.2 TSB MANAGER
  1724. *
  1725. * NS CALLS TSB MANAGER (TASK SEQUENCE BLOCK MANAGER) ROUTINES
  1726. * TO MANAGE ITS DYNAMIC MEMORY AREA. THE TSB-MANAGER IS A
  1727. * SET OF MEMORY MANAGEMENT ROUTINES TO ALLOCATE AND RELEASE
  1728. * BLOCKS OF MEMORY. EACH BLOCK IS CALLED A TASK SEQUENCE
  1729. * BLOCK (TSB) AND MAY BE A MOVABLE OR NON-MOVABLE BLOCK OF
  1730. * VARIABLE LENGTH. ASSOCIATED WITH EACH TSB IS A ONE WORD
  1731. * HEADER THAT DESCRIBES THE CURRENT STATE OF THE TSB AND
  1732. * OTHER INFORMATION FOR THAT TSB. EACH ACTIVE OR BUSY TSB
  1733. * ASLO HAS AN ENTRY IN THE TSB INFORMATION TABLE (TSBIT)
  1734. * THAT KEEPS TRACK OF ASSIGNED BLOCKS.
  1735. *
  1736. * THE FOLLOWING TSB MANAGER ROUTINES ARE USED:
  1737. *
  1738. * ROUTINE NAME DESCRIPTIONS/PARAMETERS
  1739. * ------------ -----------------------
  1740. *
  1741. * REQTSB ASSIGN A MOVABLE/UNIQUE TSB.
  1742. * INPUT PARAMETERS:
  1743. * - TSB-SIZE REQUESTED IN WORDS.
  1744. * OUTPUT PARAMETERS:
  1745. * - TSB-NUMBER OF ASSIGNED TSB.
  1746. * - FWA OF ASSIGNED TSB.
  1747. *
  1748. * RETTSB RELEASE ASSIGNED TSB AND TSB-NUMBER
  1749. * INPUT PARAMETERS:
  1750. * - TSB-NUMBER OF TSB TO BE RELEASED.
  1751. *
  1752. * EXINCSZ INCREASE SIZE OF AN ASSIGNED TSB
  1753. * INPUT PARAMETERS:
  1754. * - TSB-NUMBER OF TSB TO HAVE SIZE INCREASED
  1755. * - ADDITIONAL SIZE REQUESTED IN WORDS
  1756. * OUTPUT PARAMETERS:
  1757. * - FWA OF TSB.
  1758. *
  1759. * EXREDUC REDUCE THE SIZE OF AN ASSIGNED TSB.
  1760. * INPUT PARAMETERS:
  1761. * - TSB-NUMBER OF TSB TO HAVE SIZE REDUCED
  1762. * - NUMBER OF WORDS TO BE REDUCED
  1763. * - FIFO-INDICATOR, IF SET TO TRUE, RELEASE
  1764. * SPECIFIED NUMBER OF WORDS STARTING FROM
  1765. * FWA OF TSB, OTHERWISE THE LOWER PORTION
  1766. * OF TSB IS RELEASED.
  1767. * OUTPUT PARAMETERS:
  1768. * - FWA OF TSB
  1769. *
  1770. * TSBINFO RETURN SIZE AND FWA OF AN ASSIGNED TSB AND
  1771. * AND TSB BECOMES NON-REMOVABLE.
  1772. * INPUT PARAMETERS:
  1773. * - TSB NUMBER OF ASSIGNED TSB
  1774. * OUTPUT PARAMETERS:
  1775. * - TSB-SIZE IN WORDS
  1776. * - FWA OF TSB
  1777. *
  1778. *
  1779. * MOVEOK MAKE TSB MOVABLE
  1780. * INPUT PARAMETERS:
  1781. * - TSB-NUMBER OF ASSIGNED TSB
  1782. * OUTPUT PARAMETERS:
  1783. * - NONE
  1784. *
  1785. * XFLMGR PERFORM GARBAGE COLLECTION TO
  1786. * ELIMINATE MEMORY FRAGMENTATION IN
  1787. * DYNAMIC MEMORY AREA OF NS FIELD LENGTH.
  1788. *
  1789. *
  1790. *E
  1791. * 5.3 MACREL INTERFACE
  1792. *
  1793. * MACREL IS A COLLECTION OF RELOCATABLE MODULES THAT
  1794. * PROVIDES THE INTERFACE BETWEEN HIGHER LEVEL LANGUAGE
  1795. * (SYMPL/FORTRAN) AND THE NOS SYSTEM MACROS. NS CALLS
  1796. * THE FOLLOWING LIST OF MACREL ROUTINES:
  1797. *
  1798. *
  1799. * OPEN
  1800. * READ
  1801. * RETURN
  1802. * REWIND
  1803. * WRITEF
  1804. * WRITER
  1805. * READW
  1806. * WRITEW
  1807. * MOVE
  1808. * ABORT
  1809. * CLOCK
  1810. * DATE
  1811. * EREXIT
  1812. * MEMORY
  1813. * MESSAGE
  1814. * PDATE
  1815. * RECALL
  1816. * RTIME
  1817. * DEFINE
  1818. * PURGE
  1819. *
  1820. *
  1821. *E
  1822. * 5.4 HOST OPERATOR COMMANDS
  1823. *
  1824. * NS SUPPORTS THE NAM K-DISPLAY, COMMANDS PROCESSED BY
  1825. * NS ARE:
  1826. *
  1827. * 1) NPU LOAD STATUS COMMAND -
  1828. * THIS COMMAND DISPLAYS A SPECIFIED NPU-S CURRENT DUMP/LOAD
  1829. * STATUS THAT THIS NS KNOWS ABOUT.
  1830. *
  1831. * 2) HISTORY COMMAND -
  1832. * THIS COMMAND DISPLAYS THE ENTIRE HISTORY BUFFER, OR
  1833. * JUST THE LAST PAGE OF THE HISTORY BUFFER DEPENDING
  1834. * ON THE CONTEXT OF THE COMMAND. THE HISTORY BUFFER
  1835. * CONTAINS THE MOST SIGNIFICANT EVENTS PERFORMED BY
  1836. * NS (LIKE LOAD REQUESTED/COMPLETED/ABORTED).
  1837. *
  1838. * 3) FILE COMMAND -
  1839. * THIS COMMAND ALLOWS THE HOP TO ASSIGN AN ALTERNATE
  1840. * LOAD FILE TO NS FOR LOADING A SPECIFIC NPU.
  1841. *
  1842. * 4) NOFILE COMMAND -
  1843. * THIS COMMAND ALLOWS THE HOP TO CANCEL THE ALTERNATE
  1844. * LOAD FILE ASSIGNED TO AN NPU (VIA THE FILE COMMAND)
  1845. * AND RETURN TO USING THE DEFAULT LOAD FILE FOR LOADING
  1846. * ALL NPUS.
  1847. *
  1848. *
  1849. *E
  1850. * 6.0 MODULE DESCRIPTIONS
  1851. *
  1852. #
  1853.  
  1854. END # NS$IMS #
  1855.  
  1856. TERM
cdc/nos2.source/nam5871/ns_ims.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator