User Tools

Site Tools


cdc:nos2.source:opl871:rec

โˆ’Table of Contents

REC

Table Of Contents

  • [00011] REC - SYSTEM RECOVERY PROCESSOR.
  • [00013] SYSTEM RECOVERY PROCESSOR.
  • [00178] MAIN PROGRAM.
  • [00180] MAIN PROGRAM.
  • [00314] SUBROUTINES.
  • [00316] SJO - START JOB(S).
  • [00368] TAXM - EXTENDED MEMORY ALLOCATION TABLE.
  • [00375] MSR - ERROR RETURN FROM *RNS*.
  • [00387] ERR - PROCESS ERROR.
  • [00406] SCA - SET CP/PCP AREA ADDRESS.
  • [00426] SRM - SEND RECOVERY MESSAGES.
  • [00528] CONTROL POINT RECOVERY.
  • [00530] CCP - CLEANUP CONTROL POINTS.
  • [00599] RMT - RECOVER MANAGED TABLES.
  • [00672] RTB - READ TABLE.
  • [00719] SYSTEM RECOVERY.
  • [00721] SYS - RECOVER SYSTEM.
  • [00945] FDS - FIND DESCRIPTOR IN SAB.
  • [00978] PCT - PROCESS CONTROL TABLES.
  • [01059] SKR - SKIP RECORD.
  • [01078] VEM - VERIFY EI AND MICROCODE NAMES.
  • [01158] VTL - VERIFY TABLE LENGTHS.
  • [01201] PRESET PROGRAM.
  • [01203] PRS - PRESET.
  • [01316] STU - SCAN TAPE UNITS IN *MAGNET*.
  • [01417] 4RA - RECOVER DAYFILES.
  • [01490] SUBROUTINES.
  • [01492] IDF - INITIALIZE DAYFILES.
  • [01740] IEM - ISSUE ERROR MESSAGE.
  • [01793] FMM - FORMAT MESSAGES.
  • [01869] GDT - GET DAYFILE TRACKS.
  • [01906] TLM - TERMINATE LAST DAYFILE MESSAGE.
  • [01969] USS - UPDATE SYSTEM SECTOR.
  • [02082] ECS - MAIN ROUTINE.
  • [02204] SUBROUTINES.
  • [02206] ACE - ASSIGN CONTIGUOUS EXTENDED MEMORY TRACKS.
  • [02418] CAD - CLEAR ALLOCATION DATA.
  • [02439] CAT - CALCULATE ADDRESS OF TRT.
  • [02461] CDI - CLEAR DEVICE INTERLOCK ON ECS.
  • [02485] CTE - CREATE MEMORY CONTROL TABLE ENTRY.
  • [02531] FAD - FETCH ALLOCATION DATA.
  • [02550] FSS - FETCH SYSTEM SECTOR FOR USER EXTENDED MEMORY CHAIN.
  • [02577] FTM - FIND THIS MACHINES ID IN THE SYSTEM SECTOR.
  • [02617] HNG - ISSUE MESSAGE AND HANG.
  • [02632] ISS - INITIALIZE SYSTEM SECTOR FOR USER EXTENDED MEMORY AREA.
  • [02693] RLS - RELEASE EXISTING USER EXTENDED MEMORY SUB-CHAIN.
  • [02789] SCP - SETUP CONTROL POINT AREAS.
  • [02936] SDI - SET DEVICE INTERLOCK ON ECS.
  • [02972] SMT - SETUP MEMORY CONTROL TABLE.
  • [03014] SSS - STORE SYSTEM SECTOR FOR USER EXTENDED MEMORY CHAIN.
  • [03068] PRS - PRESET PROGRAM.
  • [03163] RCE - MAIN ROUTINE.
  • [03182] SUBROUTINES.
  • [03184] CDS - CHECK DEVICE STATUS.
  • [03209] DDC - DETERMINE DOWN CHANNELS.
  • [03256] IEQ - IDENTIFY EQUIPMENT.
  • [03283] ISF - ISSUE *SEQM* FUNCTION.
  • [03310] PCH - PROCESS CHANNEL TABLES.
  • [03338] PET - PROCESS EST.
  • [03394] RSE - RELEASE SYSTEM ASSIGNED EQUIPMENT.
  • [03426] SES - SET EQUIPMENT STATE.
  • [03484] SUBROUTINES.
  • [03486] UQE - UPDATE QFT ENTRY.
  • [03524] VEI - VALIDATE EOI FOR MASS STORAGE FILE.
  • [03610] ABT - ABORT CM RECOVERY.
  • [03639] CRS - CHECK ROLLIN/ROLLOUT STATUS.
  • [03736] TJRP - TABLE OF JOB RECOVERY PROCESSORS.
  • [03755] DEF - DETERMINE ERROR FLAG.
  • [03823] JOB RECOVERY PROCESSORS.
  • [03825] CSR - CHANGE STATUS TO ROLLOUT.
  • [03846] REJ - RECOVER EXECUTING JOB.
  • [03875] RJQ - RETURN JOB TO QUEUE.
  • [03901] RPJ - RECOVER PRE-INITIAL JOB.
  • [03922] RSJ - RECOVER JOB AT PSEUDO-CP.
  • [03936] SUBROUTINES.
  • [03938] PLF - PROCESS LOCAL FNT.
  • [04026] SET - SET ENTRY TIME.
  • [04145] IDM - ISSUE DEAD START MESSAGES.
  • [04423] BRM - BUFFERED I/O RECOVERY MESSAGE GENERATOR.
  • [04440] IGM - ISSUE GENERAL RECOVERY MESSAGES.
  • [04477] IPM - ISSUE *PUT* RELATED RECOVERY ERROR MESSAGES.
  • [04556] MTR - MANAGED TABLE RECOVERY.
  • [04584] CNA - CLEAR NON-ROLLABLE ACCESS FLAG.
  • [04617] CLT - PROCESS COMMON LIBRARIES TABLE RECOVERY.
  • [04663] EJT - PROCESS EXECUTING JOB TABLE RECOVERY.
  • [04728] FNT - PROCESS FILE NAME TABLE RECOVERY.
  • [04796] LLF - LOCATE LIBRARY FILE.
  • [04829] QFT - PROCESS QUEUE FILE TABLE RECOVERY.
  • [04904] RRF - READ ROLLOUT FILE.
  • [05083] CEL - DUMP CRITICAL ERROR LOG.
  • [05114] AAP - ACTIVATE *APP*.
  • [05165] CCF - CLEAR CEL FLAG IN DEADSTART SECTOR.
  • [05195] CSC - COMPUTE SYMPTOM CODE.
  • [05214] DAP - DEADSTART *APP*.
  • [05232] FAB - FLUSH ASSEMBLY BUFFER.
  • [05256] FEE - FIND EST ENTRY OF DEADSTART DISK.
  • [05306] IBM - ISSUE BML MESSAGES.
  • [05433] IEL - INITIATE ERROR LOGGING BY *DFT*.
  • [05516] LPR - LOAD AND PREPARE *PPR* IN *DBUF*.
  • [05578] MSW - MOVE SUPPLEMENT WORD TO ASSEMBLY BUFFER.
  • [05606] PCL - PROCESS CRITICAL ERROR LOG.
  • [05660] TRS - TERMINATE REGISTER SET.
  • [05741] RMD - RECOVER MASS STORAGE DEVICES.
  • [05842] CRP - CHECK RUNNING PP-S.
  • [05865] GND - GET NEXT DEVICE.

Source Code

REC.txt
  1. IDENT REC,REC
  2. PERIPH
  3. BASE MIXED
  4. SST
  5. EQV$ EQU 1 DEFINE NO EQUIPMENT CHECK FOR *COMPRSS*
  6. MSR$ EQU 1 SELECT ERROR PROCESSING FOR *RNS*
  7. IRA$ EQU 1 FLAG RANDOM ACCESS PROCESSORS INITIALIZED
  8. SEI$ EQU 1 SELECT TRT UPDATE FOR *COMPSEI*
  9. *COMMENT REC - SYSTEM RECOVERY PROCESSSOR.
  10. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  11. TITLE REC - SYSTEM RECOVERY PROCESSOR.
  12. SPACE 4
  13. *** REC - SYSTEM RECOVERY PROCESSOR.
  14. *
  15. * G. R. MANSFIELD. 70/12/17.
  16. * J. L. WARDELL. 72/08/17.
  17. * S. L. BETH. 74/12/17.
  18. * P. D. HAAS. 76/08/11.
  19. SPACE 4
  20. *** *REC* PROCESSES SYSTEM RECOVERY.
  21. SPACE 4,10
  22. *** DAYFILE MESSAGES.
  23. *
  24. *
  25. * THE FOLLOWING MESSAGES MAY APPEAR IN THE SYSTEM DAYFILE
  26. * AFTER A CM RECOVERY. EACH IS SELF EXPLANATORY AND
  27. * INDICATES THE NUMBER OF FILES IN A GIVEN CATEGORY FOUND
  28. * IN THE ASSOCIATED MANAGED TABLE.
  29. *
  30. * MESSAGES ASSOCIATED WITH THE FNT.
  31. *
  32. * *NNNN FAST ATTACH FILES RECOVERED.*
  33. *
  34. * MESSAGES ASSOCIATED WITH THE EJT.
  35. *
  36. * *NNNN PRE-INITIAL JOB FILES RECOVERED.*
  37. *
  38. * *NNNN EXECUTING JOB FILES RECOVERED.*
  39. *
  40. * *NNNN ROLLOUT FILES RECOVERED.*
  41. *
  42. * *NNNN SCP ROLLIN FILES RECOVERED.*
  43. *
  44. * *NNNN SCP ROLLOUT FILES RECOVERED.*
  45. *
  46. * *NNNN T/E ROLLOUT FILES RECOVERED.*
  47. *
  48. * *NNNN I/A ROLLOUT FILES RECOVERED.*
  49. *
  50. * *NNNN DISABLED ROLLOUT FILES RECOVERED.*
  51. *
  52. * *NNNN SUSPENDED ROLLOUT FILES RECOVERED.*
  53. *
  54. * *NNNN ROLLOUT ERROR FILES RECOVERED.*
  55. *
  56. * *NNNN PCP ROLLOUT FILES RECOVERED.*
  57. *
  58. * *NNNN PRE-INITIAL WAIT FILES RECOVERED.*
  59. *
  60. * *NNNN SERVICE LIMIT WAIT FILES RECOVERED.*
  61. *
  62. * MESSAGES ASSOCIATED WITH THE QFT.
  63. *
  64. * *NNNN INPUT FILES RECOVERED.*
  65. *
  66. * *NNNN PUNCH FILES RECOVERED.*
  67. *
  68. * *NNNN PLOT FILES RECOVERED.*
  69. *
  70. * *NNNN PRINT FILES RECOVERED.*
  71. *
  72. * *NNNN WAIT QUEUE FILES RECOVERED.*
  73. *
  74. * *NNNN SPECIAL FILES RECOVERED.*
  75. *
  76. * THE FOLLOWING MESSAGE INDICATES CM RECOVERY IS ABORTED DUE TO
  77. * PCP ROLLIN/ROLLOUT IN PROGRESS.
  78. *
  79. * * PCPNN CPA/MOVING.*
  80. SPACE 4
  81. *** ERROR LOG MESSAGES.
  82. *
  83. *
  84. * *CHXX,YYYYYYYYY.* = EQUIPMENT ON CHANNEL XX IS RUNNING WITH
  85. * FIRMWARE REVISION YYYYYYYYY.
  86. *
  87. * *ETXXX, UYY,PS=ZZZZZZ.* = THE PACK ON PHYSICAL UNIT YY OF EST
  88. * ORDINAL XXX OF TYPE ET HAS A SERIAL NUMBER OF ZZZZZZ.
  89. SPACE 4
  90. *** ENTRY CONDITIONS.
  91. *
  92. *
  93. * (IR+4) = RECOVERY STATUS.
  94. SPACE 4
  95. ** ROUTINES USED.
  96. *
  97. *
  98. * 4DA - CLEANUP PRESERVED FILE INTERLOCKS.
  99. * 0CI - IDENTIFY FIRMWARE.
  100. * 0PI - LIST PACK SERIAL NUMBERS.
  101. * 0DQ - DEQUEUE FILE.
  102. SPACE 4
  103. *CALL COMPMAC
  104. *CALL COMSACC
  105. *CALL COMSCPS
  106. *CALL COMSDFS
  107. QUAL DFT
  108. *CALL COMSDFT
  109. QUAL *
  110. *CALL COMSDSL
  111. *CALL COMSDST
  112. *CALL COMSEJT
  113. *CALL COMSHIO
  114. *CALL COMSJIO
  115. *CALL COMSMMF
  116. *CALL COMSMSC
  117. *CALL COMSMSP
  118. *CALL COMSMST
  119. *CALL COMSMTR
  120. QUAL MTX
  121. *CALL COMSMTX
  122. QUAL *
  123. QUAL COMSPFM
  124. *CALL COMSPFM
  125. QUAL *
  126. *CALL COMSPIM
  127. *CALL COMSPRD
  128. QUAL SCD
  129. *CALL COMSSCD
  130. QUAL *
  131. *CALL COMSSSD
  132. *CALL COMSSSE
  133. *CALL COMSWEI
  134. *CALL COMSZOL
  135. *CALL COMS1DS
  136. SPACE 4
  137. **** DIRECT LOCATION ASSIGNMENTS.
  138.  
  139.  
  140. NT EQU 16 TRACK COUNT
  141. FS EQU 20 - 24 FST ENTRY (5 LOCATIONS)
  142. CE EQU 25 CHECKPOINT DEVICE EST ORDINAL
  143. QA EQU 26 MANAGED TABLE ORDINAL
  144. ST EQU 27 SYSTEM TRACK NUMBER
  145. CN EQU 30 - 34 CM WORD BUFFER (5 LOCATIONS)
  146. QT EQU 35 QUEUED FILE TRACK
  147. QS EQU 36 QUEUED FILE SECTOR
  148. QI EQU 37 QUEUE INDEX
  149. FN EQU 40 - 44 FNT ENTRY (5 LOCATIONS)
  150. CR EQU 45 CM BUFFER ADDRESS
  151. DI EQU 46 DEVICE INITIALIZATION COUNT
  152. NS EQU 47 NUMBER OF CP-S + PCP-S
  153. NC EQU IR+2 NUMBER OF CONTROL POINTS
  154. RS EQU IR+4 RECOVERY STATUS
  155. FA EQU 57 FNT ADDRESS / ORDINAL
  156. LO EQU 60 LAST MASS STORAGE ORDINAL + 1
  157. PN EQU 61 CP / PCP NUMBER
  158. EO EQU 62 EJT ORDINAL
  159. CA EQU 63 - 67 CENTRAL ADDRESS (2 LOCATIONS)
  160. EC EQU CA+2 MANAGED TABLE ENTRY COUNT
  161. LM EQU CA+3 - CA+4 LIMIT ADDRESS (2 LOCATIONS)
  162. ****
  163. SPACE 4,10
  164. ** NFL FNT SECTOR EQUIVALENCES.
  165.  
  166. TMP1 EQU FNTN+77
  167. TMP2 EQU FNTN/100*100
  168. FNTS EQU TMP1/100 FIRST SECTOR OF FNT-S IN NFL
  169. FNTT EQU FNTN-TMP2-LENF NON-FNT WORDS IN FIRST FNT SECTOR
  170.  
  171. SBUFL EQU 2*500 DEFINE BUFFER SIZE
  172. SPACE 4,10
  173. * DEFINE UNQUALIFIED *COMSSCD* SYMBOLS.
  174.  
  175. DSSC EQU /SCD/DSSC
  176. SSSC EQU /SCD/SSSC
  177. MXJC EQU /SCD/MXJC
  178. TITLE MAIN PROGRAM.
  179. REC SPACE 4
  180. ** REC - MAIN PROGRAM.
  181.  
  182.  
  183. ORG PPFW
  184. REC RJM PRS PRESET PROGRAM
  185. LDD RS
  186. ZJN REC2 IF NO RECOVERY
  187. RJM SYS RECOVER SYSTEM FILE
  188. NJN REC1 IF JOBS NOT RECOVERED FROM CM
  189. RJM CCP CLEANUP CONTROL POINTS
  190. REC1 RJM RMT RECOVER MANAGED TABLES
  191. REC2 EXECUTE 4RA SET UP DAYFILES
  192. LDC DSCP*200+MS1W
  193. CWM MSGA,TR *RECOVERY COMPLETE.*
  194. LDD RS CHECK RECOVERY STATUS
  195. LPN SYMK
  196. NJP REC5 IF RECOVERING SYSTEM
  197.  
  198. * START SYSTEM TAPE LOAD AND WAIT FOR COMPLETION.
  199.  
  200. LDC DSCP+ENRS MOVE TO DEADSTART CONTROL POINT
  201. STD CM+1
  202. MONITOR CCAM
  203. * LDN 0
  204. ERRNZ SYFO SYSTEM FILE ORDINAL .NE. 0
  205. STD QA
  206. SOD IR+3 SET RECOVERY COMPLETE
  207. LDD IA STORE INPUT REGISTER
  208. CWD IR
  209. REC3 PAUSE NE
  210. SFA FNT,QA READ SYSTEM FILE FNT
  211. CRD CM
  212. LDD CM+4 CHECK STATUS
  213. LPN 1
  214. NJN REC3 IF SYSTEM FILE BUSY
  215. LDD NC MOVE TO SYSTEM CONTROL POINT
  216. STD CM+1
  217. MONITOR CCAM
  218. REC4 LDC DSCP*CPAS+TFSW CHECK CONTROL POINT ACTIVITY
  219. CRD CM
  220. LDD CM
  221. NJN REC4 IF DEADSTART CONTROL POINT ACTIVE
  222.  
  223. * COMPLETE RECOVERY OPERATIONS.
  224.  
  225. REC5 LDN DSCL CHECK *DSD*
  226. CRD CM
  227. LMD CM+1
  228. NJN REC5 IF DATE/TIME NOT YET ENTERED
  229. RJM /RDB/USS UPDATE NEW DAYFILES SYSTEM SECTORS
  230. EXECUTE 4RE ISSUE DEADSTART MESSAGES
  231. LDD RS
  232. ZJN REC6 IF NOT RECOVERY DEADSTART
  233. EXECUTE 4RC RECOVER CHANNEL/EQUIPMENT STATUS
  234.  
  235. * IDENTIFY MASS STORAGE EQUIPMENT.
  236.  
  237. REC6 EXECUTE 4RG PROCESS ERROR LOGS
  238. RJM SRM SEND RECOVERY MESSAGES
  239. LDN ZERL
  240. CRD CM
  241. ADN DSDL-ZERL CLEAR *DSD* BUFFER INTERLOCK
  242. CWD CM
  243. RECA LDN 1
  244. * LDN 0 (MASS STORAGE VALIDATION ENABLED)
  245. ZJN REC7 IF MASS STORAGE VALIDATION ENABLED
  246. LDD RS
  247. NJN REC8 IF RECOVERY REQUESTED
  248. REC7 EXECUTE 4RH RECOVER MASS STORAGE DEVICES
  249. REC8 LDN ZERL
  250. CRD CM
  251. LDD MA STORE INPUT REGISTER FOR *1DS*
  252. CWM RECD,ON
  253. EXECUTE 1DS,=
  254. MONITOR RPPM CREATE DEADSTART SEQUENCING JOB
  255. LDN DSSL
  256. CRD CM
  257. LCN 4 CLEAR DEADSTART INTERLOCK
  258. RAD CM+4
  259. LDN DSSL
  260. CWD CM
  261. LDN ECRL FETCH EXTENDED MEMORY WORD
  262. CRD FS
  263. LDD FS
  264. ZJN REC9 IF USER EXTENDED MEMORY UNDEFINED
  265. EXECUTE 4RB ALLOCATE/RECOVER USER ECS
  266. REC9 LDN SYFO
  267. STD QA
  268. SFA FNT READ SYSTEM FILE FNT
  269. CRD FN
  270. LDD FN+4 CLEAR SYSTEM FILE INTERLOCK
  271. SCN 1
  272. STD FN+4
  273. SFA FNT,QA STORE FNT ENTRY
  274. CWD FN
  275. LDN JSCL RESET SCHEDULER CALL TIME
  276. CRD CM
  277. ADN RTCL-JSCL
  278. CRD CM+3
  279. LDN JSCL
  280. CWD CM
  281. RJM SJO START JOBS
  282. LDD RS CHECK RECOVERY STATUS
  283. LPN SYMK
  284. LMN SYCM
  285. RECB ZJN REC11 IF CM RECOVERY
  286. * PSN (DAYFILES CREATED)
  287.  
  288. * ENTER HERE TO CALL *1CK*.
  289.  
  290. REC10 LDD IA STORE INPUT REGISTER FOR *1CK*
  291. CWM RECC,ON
  292. EXECUTE 1CK,=
  293. UJN REC12 EXIT TO PP RESIDENT
  294.  
  295. REC11 LDN JSCL CLEAR SCHEDULER ACTIVE
  296. CRD CM
  297. LDD CM
  298. LPC 3777
  299. STD CM
  300. LDN JSCL STORE SCHEDULER CONTROL
  301. CWD CM
  302. LDD MA
  303. CWM RECG,ON
  304. LDN 2 SELECT DROP PP OPTION
  305. STD CM+1
  306. MONITOR RPPM CALL *1PP*
  307. REC12 LJM PPR EXIT TO PP RESIDENT
  308.  
  309. RECC VFD 60/0L1CK
  310. RECD VFD 18/0L1DS,6/0,6/0,6/DSSF,18/0LCMS,6/0
  311. RECE CON 0 CHECKPOINT FILE TRACK
  312. RECF CON 0 SYSTEM DEVICE EST ORDINAL
  313. RECG VFD 18/3L1PP,42/0
  314. TITLE SUBROUTINES.
  315. SJO SPACE 4,10
  316. ** SJO - START JOB(S).
  317. *
  318. * USES T7, CM - CM+4, CN - CN+4.
  319. *
  320. * MACROS MONITOR.
  321.  
  322.  
  323. SJO SUBR ENTRY/EXIT
  324. LDD NC
  325. STD T7
  326. SJO1 SOD T7
  327. ZJN SJOX IF ALL CP-S CHECKED
  328. SHN 7
  329. ADN STSW
  330. CRD CM
  331. ADN TFSW-STSW
  332. CRD CN
  333. LDD CM
  334. NJN SJO1 IF ACTIVITY
  335. LDD CN
  336. ZJN SJO1 IF NO JOB
  337. LDD T7 CHANGE CP
  338. STD CM+1
  339. MONITOR CCAM
  340. LDD CM+1
  341. NJN SJO1 IF CHANGE REJECTED
  342. LDD NC CHANGE BACK TO SYSTEM CP
  343. STD CM+1
  344. MONITOR CCAM
  345. UJN SJO1 LOOP
  346. SPACE 4,10
  347. ** COMMON DECKS.
  348.  
  349.  
  350. *CALL COMPACS
  351. *CALL COMPC2D
  352. CLT$ EQU 0 DEFINE *COMPGFP* ACCESS TO CLT
  353. EJT$ EQU 0 DEFINE *COMPGFP* ACCESS TO EJT
  354. FNT$ EQU 0 DEFINE *COMPGFP* ACCESS TO FNT
  355. QFT$ EQU 0 DEFINE *COMPGFP* ACCESS TO QFT
  356. IFP$ EQU 0 GENERATE *IFP* REMOTE CODE
  357. *CALL COMPGFP
  358. *CALL COMPIFR
  359. *CALL COMPRNS
  360. *CALL COMPRSS
  361. *CALL COMPSEI
  362. *CALL COMPSNT
  363. *CALL COMPIRA
  364. *CALL COMPWEI
  365. WCS$ EQU 1 CONSECUTIVE SECTOR AFTER SYSTEM SECTOR
  366. *CALL COMPWSS
  367. TAXM SPACE 4,10
  368. ** TAXM - EXTENDED MEMORY ALLOCATION TABLE.
  369.  
  370.  
  371. TAXMW EQU 4 ALLOW ROOM FOR 4 MACHINES WITH CPU PORTS
  372. TAXM BSS 5*TAXMW
  373. TAXML EQU *
  374. MSR SPACE 4,10
  375. ** MSR - ERROR RETURN FROM *RNS*.
  376. *
  377. * EXIT (A) .LT. 0.
  378. *
  379. * MACROS ENDMS.
  380.  
  381.  
  382. MSR CON 0 ENTRY
  383. ENDMS
  384. LCN 1
  385. LJM /COMPRNS/RNSX RETURN TO CALLER
  386. ERR SPACE 4,10
  387. ** ERR - PROCESS ERROR.
  388. *
  389. * ENTRY (A) = ADDRESS OF MESSAGE.
  390.  
  391.  
  392. ERR STM ERRA
  393. LDD NC STORE MESSAGE
  394. SHN 7
  395. ADN MS2W
  396. CWM *,TR
  397. ERRA EQU *-1
  398. LDD RS CHECK RECOVERY STATUS
  399. LPN FLMK
  400. LMN FLCM
  401. NJN * IF FILES NOT RECOVERED FROM CM
  402. LDN 6 SET *1CK* FUNCTION
  403. STM RECC+2
  404. LJM REC10 PROCESS OUTSTANDING CHECKPOINT REQUESTS
  405. SCA SPACE 4,10
  406. ** SCA - SET CP/PCP AREA ADDRESS.
  407. *
  408. * ENTRY (A) = CP/PCP NUMBER.
  409. * (NC) = SYSTEM CP NUMBER.
  410. *
  411. * EXIT (A) = CP/PCP AREA ADDRESS.
  412.  
  413.  
  414. SCA1 ADD NC SET REAL CP AREA ADDRESS
  415. SHN 7
  416.  
  417. SCA SUBR ENTRY/EXIT
  418. SBD NC
  419. MJN SCA1 IF REAL CP
  420. ZJN SCA1 IF SYSTEM CP
  421. SHN 7
  422. ADC 0 ADD BASE PCPA ADDRESS - CPA LENGTH
  423. SCAA EQU *-1
  424. UJN SCAX RETURN
  425. SRM SPACE 4,10
  426. ** SRM - SEND RECOVERY MESSAGES.
  427. *
  428. * USES T1, T5, T6, T7.
  429. *
  430. * CALLS ACS, C2D, DFM.
  431.  
  432.  
  433. SRM3 STD CM CLEAR MESSAGE BUFFER
  434. LDD NC
  435. SHN 7
  436. ADN MS1W
  437. CWD CM
  438.  
  439. SRM SUBR ENTRY/EXIT
  440. LDD RS
  441. ZJN SRMX IF NOT RECOVERY DEADSTART
  442. LCN 0 SET MESSAGE TABLE INDEX
  443. STD T7
  444. LDC BFMS SET ASSEMBLY BUFFER ADDRESS
  445. STD T5
  446. ADN 2
  447. STD T6
  448. SRM1 LDD T6
  449. STD T1
  450. LDC 2L ADD BLANK SEPARATOR
  451. STI T6
  452. SRM2 AOD T7 ADVANCE INDEX
  453. LMN MXFC
  454. ZJN SRM3 IF END OF TABLE
  455. LDM SRMA,T7
  456. ZJN SRM2 IF FILE CATEGORY NOT ENCOUNTERED
  457. SHN -6
  458. RJM C2D
  459. STI T5
  460. LDM SRMA,T7 CONVERT COUNT
  461. RJM C2D
  462. STM 1,T5 INSERT IN MESSAGE ASSEMBLY
  463. LDM SRMB,T7
  464. ZJN SRM2 IF KEY MESSAGE UNDEFINED
  465. RJM ACS
  466. LDC SRMC COMPLETE MESSAGE
  467. RJM ACS
  468. LDD T5 ISSUE MESSAGE TO DAYFILE
  469. RJM DFM
  470. LJM SRM1 LOOP
  471.  
  472.  
  473. SRMA BSS 0
  474. EJCT BSS 0
  475. CON -0
  476. ORG EJCT+MXJS
  477. P1L EQU *-EJCT
  478.  
  479. QFCT BSS 0
  480. CON -0
  481. ORG QFCT+NRQT
  482. P2L EQU *-QFCT
  483.  
  484. MSCT BSS 0
  485. LOC 0
  486. FACT CON 0 FAST ATTACH FILE COUNT
  487. PXL BSS 0
  488. LOC *O
  489. MXFC EQU *-SRMA
  490.  
  491.  
  492. SRMB BSS 0
  493. P1 INDEX
  494. INDEX PRJS,(=Z*PRE-INITIAL JOB*)
  495. INDEX EXJS,(=Z*EXECUTING JOB*)
  496. INDEX ROJS,(=Z*ROLLOUT*)
  497. INDEX SIJS,(=Z*SCP ROLLIN*)
  498. INDEX SOJS,(=Z*SCP ROLLOUT*)
  499. INDEX TOJS,(=Z*T/E ROLLOUT*)
  500. INDEX IOJS,(=Z*I/A ROLLOUT*)
  501. INDEX DOJS,(=Z*DISABLED ROLLOUT*)
  502. INDEX SUJS,(=Z*SUSPENDED ROLLOUT*)
  503. INDEX PCJS,(=Z*PCP ROLLOUT*)
  504. INDEX ERJS,(=Z*ROLLOUT ERROR*)
  505. INDEX NVJS,(=Z*NVE ENTRY*)
  506. INDEX PWJS,(=Z*PRE-INITIAL WAIT*)
  507. INDEX SWJS,(=Z*SERVICE LIMIT WAIT*)
  508. INDEX P1L
  509.  
  510. P2 INDEX
  511. INDEX INQT,(=Z*INPUT*)
  512. INDEX PHQT,(=Z*PUNCH*)
  513. INDEX PLQT,(=Z*PLOT*)
  514. INDEX PRQT,(=Z*PRINT*)
  515. INDEX WTQT,(=Z*WAIT QUEUE*)
  516. INDEX SNQT,(=Z*SPECIAL*)
  517. INDEX P2L
  518.  
  519. PX INDEX
  520. INDEX FACT,(=Z*FAST ATTACH*)
  521. INDEX PXL
  522.  
  523. USE LITERALS
  524.  
  525. SRMC DATA C* FILES RECOVERED.*
  526. SPACE 4,10
  527. OVLD EQU *+5 OVERLAY LOAD ADDRESS
  528. TITLE CONTROL POINT RECOVERY.
  529. CCP SPACE 4,10
  530. ** CCP - CLEANUP CONTROL POINTS.
  531. *
  532. * ERROR TO *ABT* IF CP/PCP MOVING.
  533. *
  534. * USES PN, CM - CM+4.
  535. *
  536. * CALLS CRS, PLF.
  537. *
  538. * MACROS EXECUTE, MONITOR, NFA.
  539.  
  540.  
  541. CCP SUBR ENTRY/EXIT
  542. EXECUTE 4RD LOAD RECOVERY ROUTINES
  543. LDN 0
  544. STD PN
  545. CCP1 AOD PN ADVANCE CP/PCP NUMBER
  546. SBD NS
  547. SBN 1
  548. ZJN CCPX IF END OF CP/PCP-S
  549. RJM CRS CHECK ROLLIN/ROLLOUT STATUS
  550. ZJN CCP1 IF NO JOB ASSIGNED TO CP/PCP
  551. LDC 0 CHECK CONTROL POINT MOVING
  552. CCPA EQU *-1
  553. LMD PN
  554. NJN CCP4 IF NOT MOVING
  555. CCPB LDN 0
  556. * LDN 1 (IF MOVING EM)
  557. NJN CCP4 IF MOVING EXTENDED MEMORY
  558. LDD CN
  559. ZJN CCP6 IF NO NFL ASSIGNED
  560. CCP3 LJM ABT ABORT CM RECOVERY
  561.  
  562. CCP4 LDD CN
  563. ZJN CCP6 IF NO NFL ASSIGNED
  564. SBN DNFL
  565. MJN CCP3 IF LESS THAN DEFAULT
  566. SBN MNFL+1-DNFL
  567. PJN CCP3 IF GREATER THAN MAXIMUM
  568. LDD PN
  569. SBD NC
  570. PJN CCP1 IF PSEUDO CP OR SYSTEM CP
  571. RJM PLF PROCESS LOCAL FNT
  572. NFA DAPN+2 FETCH DAYFILE STATUS WORD
  573. CRD CM
  574. LDN 3 CLEAR DAYFILE INTERLOCKS
  575. STD CM+4
  576. NFA DAPN+2 STORE DAYFILE FST
  577. CWD CM
  578. CCP6 LDD CP GET JOB CONTROL INFORMATION
  579. ADN JCIW
  580. CRD CM
  581. ADK RFCW-JCIW GET DM* FILE POINTERS
  582. CRD CN
  583. LDD CM+3 CLEAR *DIS* FLAG
  584. LPC 6777
  585. STD CM+3
  586. LDN 0 CLEAR DM* FILE POINTERS
  587. STD CN
  588. STD CN+1
  589. LDD CP
  590. ADN JCIW
  591. CWD CM
  592. ADK RFCW-JCIW
  593. CWD CN
  594. LDD NC
  595. STD CM+1
  596. MONITOR CCAM RETURN TO SYSTEM CP
  597. LJM CCP1 LOOP FOR NEXT CP/PCP
  598. RMT SPACE 4,10
  599. ** RMT - RECOVER MANAGED TABLES.
  600. *
  601. * ERROR TO *ERR* IF ERROR RETURN FROM PROCESSOR.
  602. *
  603. * USES EO, LM, QA, QI, QT, ST, T3, CA - CA+4.
  604. *
  605. * CALLS CLT, EJT, FNT, QFT, *4RF*.
  606. *
  607. * MACROS EXECUTE.
  608.  
  609.  
  610. RMT SUBR ENTRY/EXIT
  611. LDC RMTA-1 SET LIST ADDRESS
  612. STD ST
  613. EXECUTE 4RF MANAGED TABLE RECOVERY
  614. RMT1 AOD ST ADVANCE LIST ADDRESS
  615. LDI ST
  616. ZJN RMTX IF END OF TABLES
  617. CRD CA READ TABLE POINTER
  618. LDN 0
  619. STD QT
  620. STD QI
  621. STD QA
  622. STD EO
  623. LDD EC SET NUMBER OF ASSIGNED ENTRIES
  624. SBD LM
  625. STD LM
  626. LDM RMTB-RMTA,ST SET PROCESSOR ADDRESS
  627. STD T3
  628. RJM 0,T3 PROCESS MANAGED TABLE
  629. ZJN RMT1 IF TABLE FULLY RECOVERED
  630. LDM RMTC-RMTA,ST
  631. STM RMTD SET TABLE IDENTIFIER
  632. LDC RMTD
  633. LJM ERR DISPLAY MESSAGE AND HANG
  634.  
  635. RMTA BSS 0 LIST OF TABLE POINTER ADDRESSES
  636. CON QFTP
  637. CON EJTP
  638. CON FNTP
  639. CON CLTP
  640. RMTAA CON LIDP
  641. CON FOTP
  642. CON 0 END OF LIST
  643.  
  644. RMTB BSS 0 LIST OF PROCESSOR ADDRESSES
  645. CON QFT
  646. CON EJT
  647. CON FNT
  648. CON CLT
  649.  
  650. RMTC BSS 0 LIST OF TABLE IDENTIFIERS
  651. CON 2RQF
  652. CON 2REJ
  653. CON 2RFN
  654. CON 2RCL
  655. CON 2RLI
  656. CON 2RFO
  657.  
  658. RMTD DATA C*FNT POINTER WORD ERROR.*
  659. SPACE 4,10
  660. ** MESSAGES.
  661.  
  662.  
  663. MSGA DATA C*RECOVERY COMPLETE.*
  664.  
  665. OVLA EQU *+5 OVERLAY LOAD ADDRESS
  666.  
  667. MSGR DATA C*CHECKPOINT DEVICE ERROR.*
  668. MSGS DATA C*CMR LENGTH CHANGED.*
  669. MSGT DATA C*VE ENTRY REQUIRED.*
  670. MSGU DATA C*SECURITY MODE CHANGED.*
  671. RTB SPACE 4,10
  672. ** RTB - READ TABLE.
  673. *
  674. * ENTRY (A) = LENGTH.
  675. * (CA - CA+1) = FWA.
  676. *
  677. * EXIT (A) .LT. 0 IF NOT ENOUGH SPACE FOR TABLE.
  678. * TO *SYS2* IF UNRECOVERED READ ERROR.
  679. *
  680. * USES T1, LM - LM+1.
  681. *
  682. * CALLS RNS.
  683.  
  684.  
  685. RTB2 ZJN RTBX IF EMPTY SECTOR
  686. LDD LM
  687. SHN 14 CHECK LENGTH
  688. ADD LM+1
  689. SBD T1
  690. MJN RTBX IF NO ROOM FOR SECTOR
  691. STD LM+1 DECREMENT LENGTH
  692. SHN -14
  693. STD LM
  694. LDD CA STORE SECTOR
  695. SHN 14
  696. ADD CA+1
  697. CWM BUF+2,T1
  698. STD CA+1 ADVANCE TABLE ADDRESS
  699. SHN -14
  700. STD CA
  701. LDD T1 CHECK WORD COUNT
  702. SHN -6
  703. NJN RTB1 IF NOT EOR
  704.  
  705. RTB SUBR ENTRY/EXIT
  706. STD LM+1
  707. SHN -14 SET LENGTH
  708. STD LM
  709. RTB1 LDC BUF READ NEXT SECTOR
  710. RJM RNS
  711. PJN RTB2 IF SUCCESSFUL READ
  712. LJM SYS2 PROCESS READ ERROR
  713. SPACE 4
  714. ** COMMON DECKS WHICH ARE OVERLAID.
  715.  
  716.  
  717. *CALL COMPICT
  718. *CALL COMPLDB
  719. TITLE SYSTEM RECOVERY.
  720. SYS SPACE 4
  721. ** SYS - RECOVER SYSTEM.
  722. *
  723. * EXIT (A) = JOB RECOVERY STATUS.
  724.  
  725.  
  726. SYS SUBR ENTRY/EXIT
  727. LDD CE SET CHECKPOINT DEVICE EST ORDINAL
  728. STD T5
  729. LDD ST SET SYSTEM TABLE TRACK
  730. STD T6
  731. SETMS IO
  732. LDC NSYT SET SYSTEM TABLE ADDRESS
  733. RJM RSS READ SYSTEM SECTOR
  734. ZJN SYS4 IF VALID SYSTEM SECTOR
  735. SYS2 LDC MSGR *CHECKPOINT DEVICE ERROR.*
  736. LJM ERR ISSUE MESSAGE AND HANG
  737.  
  738. SYS4 AOD T7
  739. LDC PBUF+500-2 READ SECOND SECTOR OF TABLE POINTERS
  740. RJM RNS
  741. MJN SYS2 IF READ ERROR
  742. LDN FSMS
  743. STD T7
  744. LDC PBUF-2 READ FIRST SECTOR OF TABLE POINTERS
  745. RJM RNS
  746. MJN SYS2 IF READ ERROR
  747. AOD T7
  748. RJM SKR SKIP EST
  749. RJM SKR SKIP CHANNEL TABLES
  750.  
  751. * VERIFY EST LENGTH.
  752.  
  753. LDN ESTP
  754. CRD CM
  755. LDD CM+2 COMPARE LENGTHS
  756. SBM PBUF+ESTP*5+2
  757. NJN SYS7 IF LENGTHS DIFFER
  758. RJM PCT PROCESS SUBSYSTEM TABLES
  759.  
  760. * VERIFY LENGTH OF MANAGED TABLES.
  761.  
  762. SYS6 LDC RMTA VERIFY TABLE LENGTHS
  763. RJM VTL
  764. ZJN SYS8 IF TABLE LENGTHS VALID
  765. LDM RMTC-RMTA,QA
  766. STM SYSA SET TABLE IDENTIFIER
  767. SYS7 ENDMS
  768. LDC SYSA
  769. LJM ERR DISPLAY MESSAGE AND HANG
  770.  
  771. SYS8 STM RMTAA
  772. LDD RS CHECK RECOVERY STATUS
  773. LPN FLMK
  774. LMN FLCM
  775. NJN SYS9 IF FILES NOT RECOVERED FROM CM
  776. RJM SKR SKIP MANAGED TABLES
  777. LJM SYS11 READ LIBRARY TABLES
  778.  
  779. * VERIFY OPERATING SYSTEM SECURITY MODE.
  780.  
  781. SYS9 LDK SSML
  782. CRD CM
  783. LDM PBUF+SSML*5
  784. LMD CM
  785. LPN 7
  786. ZJN SYS10 IF SECURITY MODE UNCHANGED
  787. LDC MSGU *SECURITY MODE CHANGED.*
  788. LJM ERR PROCESS ERROR
  789.  
  790. SYS10 LDK SSML RESTORE ACCESS CATEGORIES
  791. CWM PBUF+SSML*5,ON
  792. LDK JSNL RESTORE JOB SEQUENCE NUMBER
  793. CWM PBUF+5*JSNL,ON
  794. LDC 377777 READ MANAGED TABLES
  795. RJM RTB
  796. LDN ZERL
  797. CRD CM
  798. LDN FNTP SET SYSTEM FILE BUSY
  799. CRD CM+3
  800. ERRNZ SYFO SYSTEM FILE ORDINAL .NE. 0
  801. MONITOR UTEM
  802. * LDN 0 INTERLOCK *PROBE* TABLE
  803. STM PBUF+PRBP*5
  804. LDC PRBP RESTORE *PROBE* TABLE POINTER
  805. CWM PBUF+PRBP*5,ON
  806. LDD RS CHECK RECOVERY STATUS
  807. LPN SYMK
  808. NJN SYS11 IF SYSTEM RECOVERY REQUESTED
  809. LJM SYS20 COMPLETE MASS STORAGE OPERATION
  810.  
  811. * READ LIBRARY TABLES.
  812.  
  813. SYS11 LDC RPLP FETCH RPL POINTER
  814. CRD CN
  815. CRD CM
  816. ADN PLDP-RPLP GET PLD POINTER
  817. CRD FS
  818. LDM PBUF+RPLP*5 CHECK LIBRARY POINTER
  819. STD CA
  820. SBD CN
  821. SHN 14
  822. ADM PBUF+RPLP*5+1
  823. STD CA+1
  824. SBD CN+1
  825. PJN SYS12 IF CMR LENGTH HAS NOT INCREASED
  826. ENDMS
  827. LDC MSGS *CMR LENGTH CHANGED.*
  828. LJM ERR
  829.  
  830. SYS12 RAD CN+1 ADJUST RPL ADDRESS
  831. SHN -14
  832. RAD CN
  833. LDN 0
  834. STD CM SET RPL LOCKED
  835. STD CM+1
  836. STD FS SET DIRECTORY LOCKED
  837. STD FS+1
  838. LDC RPLP STORE RESIDENT LIBRARY POINTER
  839. CWD CM
  840. ADN PLDP-RPLP STORE PLD POINTER
  841. CWD FS
  842. SYS16 LDM PBUF+5*CMRL+4 REQUEST STORAGE
  843. STD CM+1
  844. LDC 1000 SET CMR REQUEST
  845. STD CM+2
  846. MONITOR RSTM
  847. LDK CMRL
  848. CRD CM
  849. LDD CM+4
  850. LMM PBUF+5*CMRL+4
  851. NJN SYS16 IF NOT ASSIGNED
  852. LDC 377777 READ LIBRARY TABLES
  853. RJM RTB
  854.  
  855. * SET LIBRARY TABLE ADDRESSES.
  856.  
  857. LDM PBUF+5*PLDP+1 RESTORE PLD ADDRESS
  858. STD FS+1
  859. LDM PBUF+5*PLDP
  860. STD FS
  861. LDC RPLP UNLOCK RPL
  862. CWD CN
  863. ADN PLDP-RPLP STORE PLD POINTER
  864. CWD FS
  865. SBN PLDP-RCLP FETCH RCL POINTER
  866. CRD CM
  867. LDM PBUF+5*RCLP+1 RESTORE RCL ADDRESS
  868. STD CM+1
  869. LDM PBUF+5*RCLP
  870. STD CM
  871. LDC RCLP STORE RCL POINTER
  872. CWD CM
  873. LDN DSSL SET RECOVERY LEVEL
  874. CRD CM
  875. LDM PBUF+5*DSSL+4
  876. LMD CM+4
  877. SCN 7
  878. LMD CM+4
  879. STM PBUF+5*DSSL+4
  880. LDN DSSL STORE SYSTEM LABEL
  881. CWM PBUF+5*DSSL,ON
  882. LDC EPDP+PSTP* READ EPD POINTER
  883. CRD CM
  884. LDM PBUF+5*EPDP+1 RESTORE EPD ADDRESS
  885. STD CM+1
  886. LDM PBUF+5*EPDP
  887. STD CM
  888.  
  889. ERRNZ PSTP-EPDP POINTERS NOT IN SAME WORD
  890.  
  891. LDM PBUF+5*PSTP+3 RESTORE PST ADDRESS
  892. STD CM+3
  893. LDM PBUF+5*PSTP+2
  894. STD CM+2
  895. LDC EPDP+PSTP* SET EPD AND PST ADDRESS
  896. CWD CM
  897. SBN EPDP-LBDP FETCH PBD POINTER
  898. CRD CM
  899. LDM PBUF+5*LBDP+3 RESTORE LBD ADDRESS
  900. STD CM+3
  901. LDM PBUF+5*LBDP+2
  902. STD CM+2
  903. LDN SSTL FETCH SYSTEM STATUS WORD
  904. CRD FS
  905. ADN PRBP-SSTL GET *PROBE* TABLE ADDRESS
  906. CRD CN
  907. ADN LBDP-PRBP STORE LBD POINTER
  908. CWD CM
  909. ADN BIOL-LBDP READ BUFFERED I/O STATUS
  910. CRD FN
  911. LDD FS+2 CHECK *PROBE* ENABLED
  912. SHN 21-6
  913. MJN SYS19 IF *PROBE* NOT ENABLED
  914. LDD FN+1
  915. ADD FN+2
  916. ZJN SYS18 IF NO BUFFERED I/O
  917. LDN 0
  918. RJM RTB RETRIEVE BUFFERED DEVICE POINTER TABLE
  919. LDD FN+1
  920. SHN 14
  921. LMD FN+2
  922. ADN IOSP RESET BUFFERED I/O *PROBE* DATA POINTER
  923. CWM BUF+2+5*IOSP,ON
  924. SYS18 LDC 4000 CLEAR *PROBE* TABLE INTERLOCK
  925. STD CN
  926. LDC PRBP UPDATE *PROBE* TABLE POINTER
  927. CWD CN
  928. SYS19 RJM LDB
  929. LDN 1 INITIALIZE *CPUMTR* TABLES
  930. RJM ICT
  931. SYS20 ENDMS
  932. LDD RS SET EXIT CONDITION
  933. LPC JBMK
  934. LMD HN
  935. ERRNZ 100-JBCM ADJUST IF VALUE CHANGES
  936. LJM SYSX RETURN
  937.  
  938. SYSA DATA C*EST LENGTH CONFLICT.*
  939. SPACE 4,10
  940. ** SYSTEM SECTOR FNT ENTRIES.
  941.  
  942.  
  943. NSYT VFD 42/0LSYSTAB,6/1,6/SYFT,6/0
  944. FDS SPACE 4,10
  945. ** FDS - FIND DESCRIPTOR IN SAB.
  946. *
  947. * ENTRY (A) = DESCRIPTOR ID.
  948. * (BUF) = SAB.
  949. *
  950. * EXIT (A) = 0 IF DESCRIPTOR FOUND.
  951. * (A) .NE. 0 IF DESCRIPTOR NOT FOUND.
  952. * (T2) = BYTE OFFSET OF DESCRIPTOR.
  953. *
  954. * USES T0 - T2.
  955.  
  956.  
  957. FDS SUBR ENTRY/EXIT
  958. STD T0 SAVE DESCRIPTOR ID
  959. LDN 0
  960. STD T1
  961. FDS1 LDD T1 SET BYTE OFFSET
  962. SHN 2
  963. ADD T1
  964. STD T2
  965. LDM BUF+2,T2
  966. SHN 14
  967. RAD T1 ADVANCE INDEX
  968. SHN -14
  969. LMD T0
  970. ZJN FDSX IF DESCRIPTOR FOUND
  971. LDD T1
  972. SBM BUF+1
  973. NJN FDS1 IF NOT END OF SAB
  974. ENDMS
  975. LDN 1 INDICATE ERROR
  976. UJN FDSX RETURN
  977. PCT SPACE 4,10
  978. ** PCT - PROCESS CONTROL TABLES.
  979. *
  980. * USES CA - CA+4, CM - CM+4, CN - CN+4.
  981. *
  982. * CALLS RTB, SKR, VEM.
  983. *
  984. * MACROS ENDMS.
  985.  
  986.  
  987. PCT3 RJM SKR SKIP EVENT TABLE
  988. RJM SKR SKIP SSCT AND SSAT
  989. RJM SKR SKIP SERVICE CLASS CONTROL TABLE
  990. RJM SKR SKIP SABB INFORMATION
  991. RJM SKR SKIP STATISTICAL DATA AREA
  992.  
  993. PCT SUBR ENTRY/EXIT
  994. LDD RS
  995. LPN SYMK
  996. LMN SYCM
  997. ZJN PCT3 IF SYSTEM RECOVERED FROM CM
  998. LDK EVTP FETCH EVENT TABLE FWA
  999. CRD CN
  1000. LDD CN SET ADDRESS OF TABLE
  1001. STD CA
  1002. LDD CN+1
  1003. STD CA+1
  1004. LDN EVTLL READ EVENT TABLE
  1005. RJM RTB
  1006. LDD CN CLEAR TABLE INTERLOCK
  1007. SHN 14
  1008. LMD CN+1
  1009. CRD CM
  1010. LDD CM+4
  1011. SCN 1
  1012. STD CM+4
  1013. LDD CN
  1014. SHN 14
  1015. LMD CN+1
  1016. CWD CM
  1017. LDC SSCP FETCH SUBSYSTEM CONTROL TABLE POINTER
  1018. CRD CM
  1019. LDD CM+2 SET ADDRESS OF TABLES
  1020. STD CA
  1021. LDD CM+3
  1022. STD CA+1
  1023. LDN SSCTL*2 READ SSCT AND SSAT
  1024. RJM RTB
  1025. LDK JBCP SET FWA OF JOB CONTROL TABLE
  1026. CRD CA
  1027. LDK JCBE*/SCD/MXJC READ CONTROL TABLES
  1028. RJM RTB
  1029. RJM VEM VERIFY MICROCODE/EI NAMES
  1030. LDC SDAP SET STATISTICAL DATA AREA ADDRESS
  1031. CRD CA
  1032. LDN SDAL READ STATISTICAL DATA AREA
  1033. RJM RTB
  1034.  
  1035. * SET RESERVED EJT ORDINAL.
  1036.  
  1037. LDM PBUF+EIBP*5+3 GET PREVIOUS *EICB* ADDRESS
  1038. SHN 14
  1039. ADM PBUF+EIBP*5+4
  1040. ZJN PCT2 IF NO EICB PREVIOUSLY
  1041. LDN SSTL
  1042. CRD CM
  1043. LDD CM+3 CHECK FOR *VE=* ENTRY
  1044. LMM PBUF+5*SSTL+3
  1045. SHN 21-13
  1046. PJN PCT1 IF *VE* STATUS NOT CHANGED
  1047. ENDMS
  1048. LDC MSGT (*VE ENTRY REQUIRED.*)
  1049. LJM ERR ISSUE MESSAGE AND HANG
  1050.  
  1051. PCT1 LDK NVOL
  1052. CRD CM
  1053. LDM PBUF+NVOL*5+4 SET NOS/VE EJT ORDINAL
  1054. STD CM+4
  1055. LDK NVOL
  1056. CWD CM
  1057. PCT2 LJM PCTX RETURN
  1058. SKR SPACE 4
  1059. ** SKR - SKIP RECORD.
  1060. *
  1061. * ENTRY (T4 - T7) = MASS STORAGE PARAMETERS.
  1062. *
  1063. * EXIT (T6 - T7) UPDATED.
  1064. * TO *SYS2* IF UNRECOVERED READ ERROR.
  1065. *
  1066. * CALLS RNS.
  1067.  
  1068.  
  1069. SKR2 SHN -6
  1070. NJN SKR1 IF NOT EOR
  1071.  
  1072. SKR SUBR ENTRY/EXIT
  1073. SKR1 LDC BUF READ NEXT SECTOR
  1074. RJM RNS
  1075. PJN SKR2 IF NO READ ERROR
  1076. LJM SYS2 ISSUE ERROR MESSAGE AND HANG
  1077. VEM SPACE 4,10
  1078. ** VEM - VERIFY EI AND MICROCODE NAMES.
  1079. *
  1080. * EXIT TO *ERR* IF VALUES DO NOT COMPARE.
  1081. * TO *SYS2* IF I/O ERROR.
  1082. *
  1083. * USES T0 - T2, CM - CM+4, CN - CN+4.
  1084. *
  1085. * CALLS FDS, RNS.
  1086. *
  1087. * MACRO ENDMS.
  1088.  
  1089.  
  1090. VEM7 LJM SYS2 ISSUE ERROR MESSAGE AND HANG
  1091.  
  1092. VEM SUBR ENTRY/EXIT
  1093. LDC BUF
  1094. RJM RNS READ NEXT SECTOR
  1095. MJN VEM7 IF ERROR
  1096. LDK EABL+MFEI GET MAINFRAME DESCRIPTOR ADDRESS
  1097. CRD CM
  1098. LDD CM+1
  1099. SCN 77
  1100. SHN 6
  1101. LMD CM
  1102. SHN 6
  1103. CRD CN
  1104. ADN 1 GET EI NAME
  1105. CRD CM
  1106. LDD CN+1
  1107. SHN -6
  1108. LMN 7
  1109. NJN VEMX IF NOT CYBER 180 MACHINE
  1110. LDN 3 FIND MAINFRAME DESCRIPTOR
  1111. RJM FDS
  1112. VEM1 NJN VEM7 IF NOT FOUND
  1113. LDM BUF+2+5+3,T2
  1114. STM VEMB+6
  1115. LMD CM+3
  1116. NJP VEM5 IF EI MISMATCH
  1117. LDK EABL+CPEI GET PROCESSOR DESCRIPTOR
  1118. CRD CM
  1119. LDD CM+1
  1120. SCN 77
  1121. SHN 6
  1122. LMD CM
  1123. SHN 6
  1124. ADN 2
  1125. CRD CM
  1126. LDN 2 FIND PROCESSOR DESCRIPTOR
  1127. RJM FDS
  1128. NJN VEM1 IF NOT FOUND
  1129. STD T0
  1130. LDN 3
  1131. STD T1
  1132. RAD T2
  1133. VEM2 LDM BUF+2+2*5,T2
  1134. STM VEMA+12,T1
  1135. LMM CM,T1
  1136. ZJN VEM3 IF THIS BYTE MATCHES
  1137. AOD T0 SET NO MATCH FLAG
  1138. VEM3 SOD T2
  1139. SOD T1 DECREMENT INDEX
  1140. PJN VEM2 IF MORE TO COMPARE
  1141. LDD T0
  1142. ZJN VEM6 IF MICROCODE MATCHES
  1143. VEM4 ENDMS
  1144. LDC VEMA *MICROCODE MISMATCH*
  1145. * LDC VEMB (EI MISMATCH)
  1146. VEMC EQU *-1
  1147. LJM ERR DISPLAY MESSAGE AND HANG PP
  1148.  
  1149. VEM5 LDK VEMB-VEMA
  1150. RAM VEMC
  1151. UJN VEM4 DISPLAY MESSAGE AND HANG
  1152.  
  1153. VEM6 LJM VEMX RETURN
  1154.  
  1155. VEMA DATA C*MICROCODE MISMATCH, *
  1156. VEMB DATA C*EI MISMATCH, *
  1157. VTL SPACE 4,10
  1158. ** VTL - VERIFY TABLE LENGTHS.
  1159. *
  1160. * ENTRY (A) = LIST ADDRESS OF TABLE POINTERS.
  1161. *
  1162. * EXIT (A) = 0 IF TABLE LENGTHS VALID.
  1163. * (CA - CA+1) = FWA OF LAST TABLE IN LIST.
  1164. *
  1165. * USES EC, QA, T2, LM - LM+1.
  1166.  
  1167.  
  1168. VTL1 STD T2
  1169. CRD CA READ TABLE POINTER
  1170. SHN 2
  1171. ADC PBUF+2 SET ADDRESS OF CHECKPOINTED POINTER
  1172. RAD T2
  1173. LDD EC COMPARE NUMBER OF TABLE ENTRIES
  1174. LMI T2
  1175. NJN VTLX IF TABLE LENGTHS DIFFER
  1176. LDD RS
  1177. LPN FLMK
  1178. LMN FLCM
  1179. ZJN VTL2 IF FILES RECOVERED FROM CM
  1180. LDM 1,T2
  1181. STD LM
  1182. LDM 2,T2 RESET POINTER PARAMETERS
  1183. STD LM+1
  1184. LDI QA UPDATE POINTER WORD
  1185. CWD CA
  1186. VTL2 AOD QA ADVANCE LIST ADDRESS
  1187. VTL3 LDI QA
  1188. NJN VTL1 IF NOT END OF LIST
  1189.  
  1190. VTL SUBR ENTRY/EXIT
  1191. STD QA
  1192. UJN VTL3 ENTER LOOP
  1193. BUFFERS SPACE 4
  1194. * BUFFER DEFINITIONS.
  1195.  
  1196.  
  1197. PBUF EQU *+2
  1198. BUF EQU PBUF+5*BQRL
  1199.  
  1200. ERRPL BUF+502-EPFW BUFFER OVERFLOW
  1201. TITLE PRESET PROGRAM.
  1202. PRS SPACE 4
  1203. ** PRS - PRESET.
  1204. *
  1205. * EXIT (RS) = RECOVERY STATUS.
  1206. * (NC) = NUMBER OF CONTROL POINTS.
  1207. * (NS) = NUMBER OF CP-S + PCP-S + 1 (SYS CP).
  1208. * (CE) = CHECKPOINT DEVICE EST ORDINAL.
  1209. * (ST) = SYSTEM TRACK FOR RECOVERY.
  1210. * (LO) = LAST MASS STORAGE ORDINAL + 1.
  1211. *
  1212. * USES CM - CM+4, CN - CN+4.
  1213.  
  1214.  
  1215. PRS SUBR ENTRY/EXIT
  1216. LDN SMRL
  1217. CRD CM
  1218. LDD CM+4 SET STORAGE MOVE STATUS
  1219. STM CCPA
  1220. LDD CM+3
  1221. LPN 77
  1222. RAM CCPB
  1223. LDD IR+4 SET RECOVERY STATUS
  1224. * STD RS
  1225. STM RECC+4
  1226. LDN NCPL FETCH CONTROL POINT COUNT
  1227. CRD CM
  1228. ADN MCTP-NCPL GET MCT POINTER
  1229. CRD CN
  1230. AOD CM+1 SET SYSTEM CP
  1231. STD NC
  1232. RAM RECC+1
  1233. ERRNZ MCTP-PCPP CODE DEPENDS ON VALUE
  1234. LDD CN+3
  1235. SHN 14 FORM BASE PCPA ADDRESS
  1236. LMD CN+4
  1237. SBK CPAS
  1238. STM SCAA SET ADDRESS - CPA LENGTH
  1239. SHN -14
  1240. RAM SCAA-1
  1241. SOD CN+2 SET CP + PCP + SYS CP COUNT
  1242. STD NS
  1243. LDD IA
  1244. CWD IR
  1245. MONITOR CCAM
  1246. * LDN 0
  1247. STD ST
  1248. LDN ESTP READ EST POINTER
  1249. CRD CM
  1250. LDD CM+3 SET LAST MASS STORAGE ORDINAL + 1
  1251. STD LO
  1252. LDN TAXMW SET TAXM WORD COUNT
  1253. STD T2
  1254. LDN ZERL
  1255. CRD CM
  1256. ADN DSDL+1-ZERL FETCH *TAXM* TABLE GENERATED BY *SET*
  1257. CRM TAXM,T2
  1258. RJM IFP INITIALIZE TABLE ACCESS ROUTINES
  1259.  
  1260. * FIND SYSTEM DEVICE.
  1261.  
  1262. LDN NOPE-1
  1263. STD T5
  1264. PRS1 AOD T5 INCREMENT EST ORDINAL
  1265. STM RECF SET POSSIBLE SYSTEM DEVICE
  1266. LMD LO
  1267. ZJP PRS5 IF END OF SCAN
  1268. SFA EST,T5
  1269. ADK EQDE
  1270. CRD FN READ EST ENTRY
  1271. LDD FN
  1272. SHN 21-13
  1273. PJN PRS1 IF NOT MASS STORAGE
  1274. SHN 13-12
  1275. PJN PRS1 IF NOT SYSTEM DEVICE
  1276.  
  1277. * FIND CHECKPOINT DEVICE.
  1278.  
  1279. LDN NOPE-1
  1280. STD CE
  1281. PRS2 AOD CE INCREMENT EST ORDINAL
  1282. LMD LO
  1283. ZJN PRS4 IF END OF SCAN
  1284. SFA EST,CE
  1285. ADK EQDE
  1286. CRD FN
  1287. LDD FN
  1288. SHN 21-13
  1289. PJN PRS2 IF NOT MASS STORAGE
  1290. SHN 13-2
  1291. PJN PRS2 IF NOT CHECKPOINT DEVICE
  1292. LDD FN+4 SET SYSTEM TABLE TRACK
  1293. SHN 3
  1294. ADN DULL
  1295. CRD FS
  1296. LDD FS+3
  1297. SHN 21-13
  1298. PJN PRS2 IF NOT VALID CHECKPOINT FILE
  1299. SHN 13-21
  1300. STD ST
  1301. STM RECE
  1302. PRS3 RJM STU SCAN TAPE UNITS
  1303. LJM PRSX RETURN
  1304.  
  1305. PRS4 LDD RS
  1306. ZJN PRS3 IF NOT RECOVERY DEADSTART
  1307. LDN PRSB-PRSA
  1308. PRS5 ADC PRSA
  1309. LJM ERR DISPLAY MESSAGE AND HANG
  1310.  
  1311. PRSA DATA C*SYSTEM DEVICE NOT FOUND.*
  1312. PRSB DATA C*CHECKPOINT DEVICE NOT FOUND.*
  1313.  
  1314. IFP HERE DUMP *IFP* REMOTE CODE
  1315. STU SPACE 4,10
  1316. ** STU - SCAN TAPE UNITS IN *MAGNET*.
  1317. *
  1318. * EXIT JOB STATUS UPDATED IN *UST1* WORD OF UDT ENTRIES.
  1319. *
  1320. * USES CM - CM+4, CN - CN+4, FN - FN+4, FS - FS+4.
  1321. *
  1322. * CALLS AST.
  1323. *
  1324. * MACROS PAUSE, SFA.
  1325.  
  1326.  
  1327. STU SUBR ENTRY/EXIT
  1328. LDC FECF*10000+MTSI GET *MAGNET* SSCT ENTRY
  1329. RJM AST
  1330. SHN 21-13
  1331. PJN STUX IF *MAGNET* NOT ACCESSIBLE
  1332. LDC FEAF*10000+MTSI GET *MAGNET* SSAT ENTRY
  1333. RJM AST
  1334. ZJN STUX IF *MAGNET* NOT AT CONTROL POINT
  1335. SFA EJT GET *MAGNET* CP NUMBER
  1336. ADN SCHE
  1337. CRD CM
  1338. LDD CM+3 CHECK *MAGNET* SUBSYSTEM IDENTIFICATION
  1339. SHN 7
  1340. ADN JCIW
  1341. CRD CM
  1342. SBN JCIW-FLSW GET *MAGNET* RA AND FL
  1343. CRD CN
  1344. SCN 77
  1345. LMM CCPA
  1346. ZJN STUX IF *MAGNET* MOVING
  1347. LDD CM+2
  1348. LMC MTSI
  1349. NJN STUX IF NOT CORRECT SUBSYSTEM IDENTIFICATION
  1350. LDK MABL CHECK MAINFRAME TYPE
  1351. CRD CM
  1352. LDD CM+1
  1353. SHN 21-13
  1354. MJN STU1 IF NOT CM EXTENSION
  1355. LRD CN+2
  1356. LDC 4000
  1357. STD CN+3
  1358. STU1 LDD CN+3 GET *MAGNET* UDT FWA AND LWA+1
  1359. SHN 6
  1360. ADN /MTX/UBUF
  1361. CRD CM
  1362. LDD CM+4 VALIDATE UDT FWA AND LWA+1
  1363. SBN 2
  1364. MJN STU2 IF UDT FWA .LE. 1
  1365. LDD CN+4
  1366. SHN 6
  1367. SBD CM+2
  1368. SBN 1
  1369. MJN STU2 IF UDT LWA+1 .GE. FL
  1370. LDD CM+4
  1371. SBD CM+2
  1372. MJN STU4 IF UDT FWA .LT. LWA+1
  1373. STU2 PAUSE NE RESET R REGISTER FOR CME MACHINE
  1374. LJM STUX RETURN
  1375.  
  1376. STU3 LDN /MTX/UNITL
  1377. RAD CM+4
  1378. SBD CM+2
  1379. PJN STU2 IF END OF UDTS
  1380. STU4 LDD CN+3 CHECK NEXT UDT
  1381. SHN 6
  1382. ADD CM+4
  1383. ADK /MTX/UST1 GET JOB STATUS
  1384. CRD FS
  1385. ADK /MTX/UVRI-/MTX/UST1 GET EJT ORDINAL
  1386. CRD FN
  1387. LDD FS CLEAR JOB ROLLED OUT FLAG
  1388. SCN 1
  1389. STD FS
  1390. SFA EJT,FN GET JOB STATUS
  1391. ADK JSNE
  1392. CRD FN
  1393. LDD FN+4
  1394. LPN 76
  1395. LMN EXJS*2
  1396. ZJN STU5 IF UNIT NOT ASSIGNED OR JOB AT CP
  1397. AOD FS INDICATE JOB ROLLED OUT
  1398. STU5 LDD CN+3
  1399. SHN 6
  1400. ADD CM+4
  1401. ADN /MTX/UST1
  1402. CWD FS
  1403. UJN STU3 PROCESS NEXT UDT
  1404. SPACE 4,10
  1405. ** PRESET COMMON DECKS.
  1406.  
  1407.  
  1408. *CALL COMPAST
  1409. TTL REC/4RA - RECOVER DAYFILES.
  1410. TITLE
  1411. QUAL RDB
  1412. IDENT 4RA,RDFX
  1413. QUAL$ EQU 1 DONT QUALIFY COMMON DECKS
  1414. *COMMENT REC - RECOVER DAYFILES.
  1415. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1416. SPACE 4
  1417. ** 4RA - RECOVER DAYFILES.
  1418. *
  1419. * *4RA* USES THE DAYFILE RECOVERY INFORMATION DEVELOPED
  1420. * BY *RMS* TO SETUP THE DAYFILE FST ENTRIES. IT ALSO SETS
  1421. * THE RECOVERED DAYFILES LENGTH IN THE CORRESPONDING
  1422. * SYSTEM SECTOR. IF A DAYFILE IS NOT RECOVERED, *4RA*
  1423. * WILL START A NEW DAYFILE ON THE DEVICE DEFINED BY
  1424. * THE DAYFILE CMRDECK DIRECTIVES.
  1425. SPACE 4,3
  1426. *** ENTRY CONDITIONS.
  1427. *
  1428. * (SE) = SYSTEM EQUIPMENT.
  1429. SPACE 4,3
  1430. *** OPERATOR MESSAGES.
  1431. *
  1432. * *FILENAM UNRECOVERABLE.* = DAYFILE SPECIFIED
  1433. * NOT RECOVERABLE.
  1434. SPACE 4
  1435. ORG OVLA
  1436.  
  1437.  
  1438. RDF SUBR ENTRY/EXIT
  1439. RJM IDF INITIALIZE DAYFILES
  1440. UJN RDFX RETURN
  1441. RDB SPACE 4,10
  1442. QUAL
  1443.  
  1444. * *4RA*/*4RE* COMMUNICATION BLOCK.
  1445.  
  1446.  
  1447. RDBA BSS 0 CREATION DATE BUFFERS
  1448. BSSZ 5 SYSTEM DAYFILE
  1449. BSSZ 5 ACCOUNT DAYFILE
  1450. BSSZ 5 ERRLOG DAYFILE
  1451. BSSZ 5 MAINTENANCE LOG DAYFILE
  1452.  
  1453. RDBB BSS 0 EOI DATE BUFFERS
  1454. BSSZ 5 SYSTEM DAYFILE
  1455. BSSZ 5 ACCOUNT DAYFILE
  1456. BSSZ 5 ERRLOG DAYFILE
  1457. BSSZ 5 MAINTENANCE LOG DAYFILE
  1458.  
  1459. RDBC BSS 0 EOI TIME BUFFERS
  1460. BSSZ 5 SYSTEM DAYFILE
  1461. BSSZ 5 ACCOUNT DAYFILE
  1462. BSSZ 5 ERRLOG DAYFILE
  1463. BSSZ 5 MAINTENANCE LOG DAYFILE
  1464.  
  1465. RDBD BSS 0
  1466. DATA H*DAYFILE *
  1467. DATA H*ACCOUNT *
  1468. DATA H*ERRLOG *
  1469. DATA H*MAINLOG *
  1470. RDBE BSS 0
  1471.  
  1472. RDBF BSSZ EXDF FIRST TRACK OF CREATED DAYFILES
  1473.  
  1474. * THE FOLLOWING MESSAGE, *ARSY, LN, YY/MM/DD.* IS ISSUED WHEN
  1475. * THE ACCOUNT DAYFILE IS RECOVERED ON DEADSTART LEVEL *LN*.
  1476. * THE MESSAGE *ABSY, YY/MM/DD.* IS ISSUED WHEN THE ACCOUNT
  1477. * DAYFILE IS INITIALIZED.
  1478.  
  1479. RDBG DATA H*ARSY, 0, YY/MM/D*
  1480. CON 0,0
  1481. RDBH DATA C*FILENAM RECOVERED, EQXXX.*
  1482. RDBI DATA C*FILENAM CREATION DATE YY/MM/DD. *
  1483. RDBI1 EQU *-6
  1484. RDBJ DATA C*FILENAM UPDATED YY/MM/DD. HH.MM.SS. *
  1485. RDBJ1 EQU *-13
  1486. RDBK CON RDBG+4 MESSAGE ADDRESS FOR DATE
  1487. SPACE 4,10
  1488. OVLB EQU *+5 ORIGIN FOR *4RE*
  1489. QUAL RDB
  1490. TITLE SUBROUTINES.
  1491. IDF SPACE 4,9
  1492. ** IDF - INITIALIZE DAYFILES.
  1493. *
  1494. * ENTRY (RS) = RECOVERY STATUS.
  1495. * (RECF) = SYSTEM EQUIPMENT.
  1496. *
  1497. * EXIT (USST) = EQUIPMENT AND FIRST TRACK OF NEW DAYFILES.
  1498. *
  1499. * USES T1 - T7, CM - CM+4, CN - CN+4, FN - FN+4,
  1500. * FS - FS+4, USST, QT, QS, FA.
  1501. *
  1502. * CALLS C2D, FMM, GDT, IEM, IRA, RDS, RSS, SEI, TLM, WEI, WSS.
  1503. *
  1504. * MACROS ENDMS, MONITOR, SETMS, SFA.
  1505.  
  1506.  
  1507. IDF SUBR ENTRY/EXIT
  1508. LDD RS CHECK RECOVERY STATUS
  1509. LPN FLMK
  1510. LMN FLCM
  1511. ZJN IDFX IF FILES RECOVERED FROM CM
  1512. LDN 0 CLEAR FST ADDRESS
  1513. STD FA
  1514. STD QS CLEAR *USST* INDEX
  1515. LDN ZERL
  1516. CRD CM
  1517.  
  1518. * THE FIRST WORD OF THE SYSTEM DAYFILES BUFFER CONTAINS
  1519. * THE DAYFILE RECOVERY INFORMATION.
  1520.  
  1521. LDN DFPP SET FWA OF DAYFILE POINTERS
  1522. CRD CN
  1523. LDD CN
  1524. SHN 14
  1525. ADD CN+1
  1526. CRD FS
  1527. SBN 1 INITIALIZE DAYFILE STATUS WORD ADDRESS
  1528. STD CN+1
  1529. SHN -14
  1530. STD CN
  1531. LCN 0 INITIALIZE DAYFILE INDEX
  1532. STD CN+3
  1533. LDD FS
  1534. SHN 14
  1535. LMD FS+1
  1536. CRD FN
  1537. CWD CM
  1538. LDD FN+1 CHECK ACCOUNT FILE RECOVERY INFORMATION
  1539. SHN 21-13
  1540. PJN IDF1 IF RECOVERY SELECTED
  1541. SOM RDBK
  1542. LCN 1RR-1RB SET *ABSY* IN MESSAGE
  1543. RAM RDBG
  1544.  
  1545. * LOOP TO PROCESS EACH DAYFILE.
  1546.  
  1547. IDF1 AOD CN+3 ADVANCE DAYFILE INDEX
  1548. LMN EXDF
  1549. NJN IDF2 IF NOT LAST OF EXCESS DAYFILES
  1550. LJM IDFX RETURN
  1551.  
  1552. IDF2 LDN 3 SET STATUS WORD ADDRESS
  1553. RAD CN+1
  1554. SHN -14
  1555. RAD CN
  1556. SHN 14
  1557. ADD CN+1
  1558. CRD FS READ DAYFILE STATUS WORD
  1559. SBN 1 READ DAYFILE BUFFER LENGTH WORD
  1560. CRD CM
  1561. LDD CM+3
  1562. ZJN IDF1 IF ZERO LENGTH BUFFER
  1563. STD CM+2
  1564. LDN 0
  1565. STD CM+3
  1566. LDD CN ACTIVATE DAYFILE
  1567. SHN 14
  1568. ADD CN+1
  1569. SBN 1
  1570. CWD CM
  1571.  
  1572. * PROCESS DAYFILE RECOVERY.
  1573.  
  1574. LDM FN,CN+3 SET DAYFILE EST ORDINAL
  1575. LPC 777
  1576. STD T5
  1577. LMN NEEQ
  1578. ZJN IDF3 IF DEFAULT EQUIPMENT
  1579. SFA EST,T5 READ EST ENTRY
  1580. ADK EQDE
  1581. CRD CM
  1582. LDD CM CHECK EQUIPMENT
  1583. SHN -6
  1584. LPN 45
  1585. LMN 40
  1586. ZJN IDF4 IF MASS STORAGE, NOT REMOVABLE, AVAILABLE
  1587. IDF3 LDM RECF DEFAULT TO SYSTEM DEVICE
  1588. STD T5
  1589. IDF4 RJM IRA INITIALIZE RANDOM ACCESS PROCESSORS
  1590. LDD T5 SET EQUIPMENT IN FST
  1591. STD FS
  1592. RJM GDT GET DAYFILE TRACKS
  1593. LDM FN,CN+3
  1594. SHN 21-13
  1595. PJN IDF6 IF RECOVERY OF DAYFILE SELECTED
  1596. IDF5 LJM IDF11 INITIALIZE DAYFILE
  1597.  
  1598. IDF6 LDM IDFD,CN+3 CHECK TRACK ASSIGNED
  1599. NJN IDF7 IF TRACK ASSIGNED
  1600. LDD T5 CHECK REQUESTED EQUIPMENT
  1601. LMM FN,CN+3
  1602. LPC 777
  1603. NJN IDF5 IF DEFAULT EQUIPMENT
  1604. LJM IDF10 TRACK NOT ASSIGNED RECOVERY IMPOSSIBLE
  1605.  
  1606. * UPDATE RECOVERY INFORMATION IN SYSTEM SECTOR.
  1607.  
  1608. IDF7 STD T6
  1609. STD FS+1
  1610. SETMS IO,(SM,RW)
  1611. LDM IDFB,CN+3
  1612. RJM RSS READ SYSTEM SECTOR
  1613. NJN IDF8 IF INCORRECT SYSTEM SECTOR
  1614. ENDMS
  1615. * LDN 0 (FORCE CURRENT TRT)
  1616. RJM SEI SET CURRENT POSITION TO EOI
  1617. LDD T6
  1618. STD FS+2
  1619. LDD T7
  1620. STD FS+3 SET SECTOR
  1621. LDD T2 SAVE LENGTH
  1622. STM FLSS
  1623. LDD T3
  1624. STM FLSS+1
  1625. RJM TLM TERMINATE LAST MESSAGE
  1626. LDC SBUF
  1627. RJM RDS READ EOI SECTOR
  1628. MJN IDF9 IF READ ERROR
  1629. LDM SBUF
  1630. ADM SBUF+1
  1631. IDF8 NJN IDF9 IF NOT EOI
  1632. RJM FMM FORMAT MESSAGES
  1633. LJM IDF15
  1634.  
  1635. * IF NO TRACK ASSIGNED, ERROR IN SYSTEM SECTOR
  1636. * OR ERROR IN EOI SECTOR.
  1637.  
  1638. IDF9 ENDMS
  1639. IDF10 RJM IEM ISSUE ERROR MESSAGE
  1640.  
  1641. * CREATE A NEW DAYFILE.
  1642.  
  1643. IDF11 LDM IDFD,CN+3
  1644. ZJN IDF12 IF NO TRACK ASSIGNED
  1645. STD CM+2
  1646. LDD T5
  1647. STD CM+1
  1648. MONITOR DTKM DROP TRACKS
  1649. IDF12 LDN ZERL
  1650. CRD CM
  1651. LDD T5 SET EST ORDINAL
  1652. STD CM+1
  1653. LMC 4000
  1654. STM USST,QS
  1655. MONITOR RTCM RESERVE TRACK CHAIN
  1656. LDD CM+4 SET TRACK
  1657. STD T6
  1658. STM RDBF,CN+3
  1659. NJN IDF13 IF TRACK ASSIGNED
  1660. LDD T5 CONVERT UPPER TWO DIGITS OF EST ORDINAL
  1661. SHN -3
  1662. RJM C2D
  1663. STM IDFC+1
  1664. LDD T5 CONVERT LOWER DIGIT OF EST ORDINAL
  1665. LPN 7
  1666. SHN 6
  1667. ADC 2R0,
  1668. STM IDFC+2
  1669. LDC IDFC *EQXXX, DAYFILE TRACK LIMIT.*
  1670. LJM ERR
  1671.  
  1672. IDF13 STM USST+1,QS
  1673. STD CM+2 SET PRESERVED FILE BIT
  1674. LDD T5
  1675. STD CM+1
  1676. LDN SPFS
  1677. STD CM+3
  1678. MONITOR STBM
  1679. * LDN 0 FORCE DEADSTART CHECKPOINT
  1680. STM RECB
  1681. LDN 2 ADVANCE SYSTEM SECTOR UPDATE INDEX
  1682. RAD QS
  1683. LDM IDFB,CN+3 SET DAYFILE NAME
  1684. STM IDFA
  1685. LDC 501-ETEI
  1686. STD T1
  1687. IDF14 LDN 0 CLEAR SYSTEM SECTOR / EOI BUFFER
  1688. STM BFMS+ETEI,T1
  1689. SOD T1
  1690. PJN IDF14 LOOP UNTIL CLEAR
  1691. LDD MA
  1692. CWM *,ON
  1693. IDFA EQU *-1
  1694. SBN 1
  1695. CRM FNSS,ON
  1696. RJM WSS WRITE SYSTEM SECTOR
  1697. RJM WEI WRITE EOI
  1698. ENDMS
  1699. LDD T5 SET EQUIPMENT
  1700. STD FS
  1701. LMC 4000
  1702. STD CM+1
  1703. LDD T6 SET TRACK
  1704. STD FS+1
  1705. STD FS+2
  1706. LPC 3777
  1707. STD CM+2
  1708. LDD T7 SET SECTOR
  1709. STD FS+3
  1710. STD CM+3
  1711. MONITOR DTKM SET EOI IN TRT
  1712.  
  1713. * COMPLETE PROCESSING FOR THIS DAYFILE.
  1714.  
  1715. IDF15 ENDMS
  1716. LDD CN STORE DAYFILE FST
  1717. SHN 14
  1718. ADD CN+1
  1719. CWD FS
  1720. LJM IDF1 LOOP FOR NEXT DAYFILE
  1721.  
  1722. * TABLE OF ADDRESSES FOR DAYFILE FNT ENTRIES.
  1723.  
  1724. IDFB BSS 0
  1725. CON NDYF
  1726. CON NACF
  1727. CON NERL
  1728. CON NBML
  1729.  
  1730. IDFC DATA C*EQXXX, DAYFILE TRACK LIMIT.*
  1731. IDFD BSS 5 DAYFILES FIRST TRACK BUFFER
  1732.  
  1733. * DAYFILE FNT ENTRIES.
  1734.  
  1735. NDYF VFD 42/0LDAYFILE,6/1,6/LIFT,6/0
  1736. NACF VFD 42/0LACCOUNT,6/1,6/LIFT,6/0
  1737. NERL VFD 42/0LERRLOG,6/1,6/LIFT,6/0
  1738. NBML VFD 42/0LMAINLOG,6/1,6/LIFT,6/0
  1739. IEM SPACE 4
  1740. ** IEM - ISSUE ERROR MESSAGE.
  1741. *
  1742. * ENTRY (CN+3) = DAYFILE INDEX.
  1743. *
  1744. * USES CM - CM+4.
  1745.  
  1746.  
  1747. IEM SUBR ENTRY/EXIT
  1748. LDM IDFB,CN+3
  1749. STM IEMA
  1750. LDD MA
  1751. CWM *,ON FILENAME FOR MESSAGE
  1752. IEMA EQU *-1
  1753. SBN 1
  1754. CRM IEMB,ON
  1755. LDC 2R BLANK FILE NAME
  1756. STM IEMB+4
  1757. LDM IEMB+3
  1758. SCN 77
  1759. LMN 1R
  1760. STM IEMB+3
  1761.  
  1762. * SET PAUSE BIT.
  1763.  
  1764. LDD NC SYSTEM CONTROL POINT
  1765. SHN 7
  1766. ADN SNSW SENSE SWITCH WORD
  1767. CRD CM
  1768. STD T1
  1769.  
  1770. * SET PAUSE BIT AND WAIT FOR OPERATOR ACTION.
  1771.  
  1772. LDD CM+3
  1773. SCN 1
  1774. LMN 1
  1775. STD CM+3
  1776. LDD T1
  1777. CWD CM
  1778. ADN MS2W-SNSW
  1779. CWM IEMB,TR
  1780. IEM1 LDN 77
  1781. SBN 1
  1782. NJN *-1 DELAY
  1783. LDD T1
  1784. CRD CM
  1785. LDD CM+3
  1786. LPN 1
  1787. NJN IEM1 IF PAUSE BIT STILL SET
  1788. LJM IEMX RETURN
  1789.  
  1790.  
  1791. IEMB DATA C*DAYFILE UNRECOVERABLE.*
  1792. FMM SPACE 4,15
  1793. ** FMM - FORMAT MESSAGES.
  1794. *
  1795. * ENTRY CHANNEL RESERVED.
  1796. * (T5) = EST ORDINAL.
  1797. * (QS) = INDEX TO *USST* LIST.
  1798. * SYSTEM SECTOR AT BFMS.
  1799. * EOI SECTOR AT SBUF.
  1800. * (CN+3) = DAYFILE INDEX.
  1801. * (FS - FS+4) = DAYFILE STATUS WORD.
  1802. * *SETMS IO,RW* PERFORMED.
  1803. *
  1804. * EXIT SYSTEM SECTOR UPDATED.
  1805. * MESSAGE INFORMATION SAVED.
  1806. *
  1807. * USES T1, T2, T6, T7.
  1808. *
  1809. * CALLS WSS.
  1810.  
  1811.  
  1812. FMM SUBR ENTRY/EXIT
  1813. LDD CN+3 SAVE DATE AND TIME
  1814. SHN 2
  1815. ADD CN+3
  1816. ADC RDBA
  1817. STM FMMA
  1818. ADN RDBB-RDBA
  1819. STM FMMC
  1820. ADN RDBC-RDBB
  1821. STM FMMB
  1822.  
  1823. * SAVE SYSTEM SECTOR CREATION DATE.
  1824.  
  1825. LDD MA
  1826. CWM BFMS+DTEI+2*5,ON
  1827. SBN 1
  1828. CRM **,ON
  1829. FMMA EQU *-1
  1830.  
  1831. * SAVE UPDATE TIME.
  1832.  
  1833. SBN 1
  1834. CWM SBUF+DTEI+5,ON
  1835. SBN 1
  1836. CRM **,ON
  1837. FMMB EQU *-1
  1838.  
  1839. * SAVE UPDATE DATE.
  1840.  
  1841. SBN 1
  1842. CWM SBUF+DTEI+2*5,ON
  1843. SBN 1
  1844. CRM **,ON
  1845. FMMC EQU *-1
  1846.  
  1847. * UPDATE SYSTEM SECTOR WITH NEW LENGTH.
  1848.  
  1849. SETMS POSITION
  1850. LDM FTSS REWRITE SYSTEM SECTOR
  1851. STM USST+1,QS
  1852. STD T6
  1853. RJM WSS
  1854. LDD T5 SET RECOVERED DAYFILE IN *USST*
  1855. LMC 2000
  1856. STM USST,QS
  1857. LDN 2
  1858. RAD QS
  1859. LDD FS+1 CHECK STATUS OF DAYFILE
  1860. LMD FS+2
  1861. NJN FMM1 IF BUFFER DUMPED TO DISK
  1862. LDD FS+3
  1863. LMN FSMS
  1864. NJN FMM1 IF BUFFER DUMPED
  1865. LDD T6 SET FIRST TRACK IN CREATION TABLE
  1866. STM RDBF,CN+3
  1867. FMM1 LJM FMMX RETURN
  1868. GDT SPACE 4,10
  1869. ** GDT - GET DAYFILE TRACKS.
  1870. *
  1871. * ENTRY (T5) = EST ORDINAL.
  1872. *
  1873. * EXIT (IDFD) = FIRST TRACKS OF EXCESS DAYFILES.
  1874. * = 0 IF NO DAYFILES ON DEVICE.
  1875. *
  1876. * EREXIT TO *ERR* IF ERROR READING SECTOR OF LOCAL AREAS.
  1877. *
  1878. * CALLS C2D, RLA.
  1879.  
  1880.  
  1881. GDT1 ZJN GDT2 IF NO SECTOR OF LOCAL AREAS
  1882. STM GDTA
  1883. LDD MA MOVE DAYFILE TRACKS TO DIRECT CELLS
  1884. CWM *,ON
  1885. GDTA EQU *-1
  1886. SBN 1
  1887. GDT2 CRM IDFD,ON
  1888.  
  1889. GDT SUBR ENTRY/EXIT
  1890. RJM RLA READ LOCAL AREA SECTOR
  1891. PJN GDT1 IF NO ERRORS
  1892. LDD T5 CONVERT UPPER TWO DIGITS OF EST ORDINAL
  1893. SHN -3
  1894. RJM C2D
  1895. STM GDTB+1 STORE IN MESSAGE
  1896. LDD T5 CONVERT LOWER DIGIT OF EST ORDINAL
  1897. LPN 7
  1898. SHN 6
  1899. ADC 2R0,
  1900. STM GDTB+2
  1901. LDC GDTB *EQXXX, LOCAL AREA SECTOR ERROR.*
  1902. LJM ERR DISPLAY MESSAGE AND HANG
  1903.  
  1904. GDTB DATA C*EQXXX, LOCAL AREA SECTOR ERROR.*
  1905. TLM SPACE 4,15
  1906. ** TLM - TERMINATE LAST DAYFILE MESSAGE.
  1907. *
  1908. * ENTRY (T5) = EST ORDINAL.
  1909. * (T6) = (FS+2) = EOI TRACK FOR DAYFILE.
  1910. * (T7) = (FS+3) = EOI SECTOR.
  1911. * (FS+1) = FIRST TRACK OF DAYFILE.
  1912. * (CN+3) = DAYFILE INDEX.
  1913. * (CN - CN+1) = FWA OF DAYFILE POINTERS.
  1914. * (T2 - T3) = DAYFILE LENGTH (SECTOR COUNT).
  1915. *
  1916. * USES T2, CM - CM+4.
  1917. *
  1918. * CALLS RDS, SNT.
  1919.  
  1920.  
  1921. TLM SUBR ENTRY/EXIT
  1922. LDD CN+3
  1923. LMN MLDY
  1924. ZJN TLMX IF MAINTENANCE LOG
  1925. LDD T3
  1926. LMN FSMS
  1927. ADD T2
  1928. ZJN TLMX IF DAYFILE EMPTY
  1929. SOD T7
  1930. PJN TLM2 IF EOI NOT ON TRACK BOUNDARY
  1931. LDD FS+1
  1932. STD T6
  1933. TLM1 LDD T6 SAVE CURRENT TRACK
  1934. STD T2
  1935. RJM SNT SET NEXT TRACK
  1936. STD T6
  1937. LMD FS+2
  1938. NJN TLM1 IF NOT EOI TRACK
  1939. LDD T2
  1940. STD T6
  1941. LDM SLM SET LAST DATA SECTOR
  1942. SBN 1
  1943. STD T7
  1944. TLM2 LDC SBUF READ LAST SECTOR OF DAYFILE DATA
  1945. RJM RDS
  1946. MJN TLM3 IF READ ERROR
  1947. LDM SBUF+1
  1948. LMD HN
  1949. NJN TLM3 IF NOT FULL SECTOR (BUFFER FLUSHED)
  1950. LDM SBUF+501
  1951. ZJN TLM3 IF LAST MESSAGE COMPLETE
  1952. LDD CN
  1953. SHN 14
  1954. ADD CN+1
  1955. SBN 2
  1956. CRD CM
  1957. AOD CM+4 ADVANCE IN POINTER
  1958. LDD CN
  1959. SHN 14
  1960. ADD CN+1
  1961. SBN 2
  1962. CWD CM
  1963. TLM3 LDD FS+2 RESTORE EOI ADDRESS
  1964. STD T6
  1965. LDD FS+3
  1966. STD T7
  1967. LJM TLMX RETURN
  1968. USS SPACE 4
  1969. ** USS - UPDATE SYSTEM SECTOR.
  1970. *
  1971. * ENTRY EST ORDINAL AND FIRST TRACK OF SELECTED DAYFILES
  1972. * STORED IN USST.
  1973. *
  1974. * EXIT DAYFILE SYSTEM SECTORS UPDATED WITH CURRENT TIME.
  1975. *
  1976. * USES T5, T6, QS.
  1977. *
  1978. * CALLS RSS, WSS.
  1979. *
  1980. * MACROS ENDMS, SETMS.
  1981.  
  1982.  
  1983. USS SUBR ENTRY/EXIT
  1984. LDN 0 CLEAR FILE INDEX
  1985. STD QS
  1986. STD FA
  1987. USS1 LDM USST,QS CHECK FOR SELECTED EQUIPMENT
  1988. ZJN USSX IF END OF FILES
  1989. LPC 777
  1990. STD T5
  1991. SETMS IO,RW
  1992. LDM USST+1,QS SET FIRST TRACK
  1993. STD T6
  1994. LDN 0 READ SYSTEM SECTOR
  1995. RJM RSS
  1996. NJN USS3 IF ERROR IN SYSTEM SECTOR
  1997. LDM USST,QS
  1998. SHN 21-12
  1999. MJN USS2 IF A RECOVERED DAYFILE
  2000. LDN PDTL ENTER CREATION DATE AND TIME
  2001. CRM DTSS,TR
  2002. USS2 RJM WSS UPDATE TIME IN SYSTEM SECTOR
  2003. USS3 ENDMS
  2004. LDN 2
  2005. RAD QS
  2006. LJM USS1 LOOP FOR NEXT FILE
  2007.  
  2008.  
  2009. ** TABLE OF DAYFILE SYSTEM SECTORS TO UPDATE.
  2010. * ENTRY = 2 WORDS, ZERO WORD TERMINATES THE TABLE.
  2011. *
  2012. *T, USST 3/FLAGS, 9/ ESTORD, 12/ FIRST TRACK
  2013. *
  2014. * FLAGS -
  2015. * 4 = NEW DAYFILE.
  2016. * 2 = RECOVERED DAYFILE.
  2017.  
  2018.  
  2019. USST BSSZ 2*EXDF+1
  2020. SPACE 4
  2021. * COMMON DECKS.
  2022.  
  2023.  
  2024. *CALL COMPRLA
  2025. SPACE 4
  2026. USE LITERALS
  2027.  
  2028. SBUF EQU * SCRATCH BUFFER
  2029. ERRNG BFMS-SBUF-502 SCRATCH BUFFER OVERFLOW INTO *BFMS*
  2030. TTL REC/4RB - ALLOCATE/RECOVER USER XM.
  2031. TITLE
  2032. QUAL ECS
  2033. IDENT 4RB,ECSX
  2034. *COMMENT REC - ALLOCATE/RECOVER USER XM.
  2035. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2036. 4RB SPACE 4,10
  2037. *** ECS - ALLOCATE/RECOVER USER EXTENDED MEMORY.
  2038. *
  2039. * *ECS* PERFORMS THE ALLOCATION AND RECOVERY OF USER
  2040. * ACCESS EXTENDED MEMORY. THE ALLOCATED XM FOR USER DIRECT
  2041. * ACCESS IS MAINTAINED AS A PRESERVED FILE OF TYPE *LIFT* AND
  2042. * IS NAMED -**UECS.-. THE FILE IS COMPOSED OF UP TO 5
  2043. * SUB-CHAINS. THE FIRST SUB-CHAIN IS ONE TRACK LONG AND IS
  2044. * TO GUARANTEE A SYSTEM SECTOR FOR THE ENTIRE CHAIN. EACH
  2045. * SUBSEQUENT SUB-CHAIN, UP TO 4, IS COMPOSED OF ENOUGH
  2046. * CONTINUOUS TRACKS TO MEET THE SPACE REQUIRMENTS OF ONE
  2047. * MACHINES DIRECT ACCESS AREA. THE SYSTEM SECTOR CONTAINS
  2048. * INFORMATION DESCRIBING EACH SUB-CHAIN PRESENT.
  2049. 4RB SPACE 4,10
  2050. *** OPERATOR MESSAGES.
  2051. *
  2052. * **ECSM* ERROR CLEARING USER XM.* = A HARDWARE ERROR OCCURRED
  2053. * WHILE ATTEMPTING TO CLEAR A JOB-S EXTENDED MEMORY FIELD
  2054. * LENGTH.
  2055. *
  2056. * *USER EXTENDED MEMORY IMPROPERLY ALLOCATED.* = AN
  2057. * INCONSISTENCY HAS BEEN DETECTED, BETWEEN THE REQUESTED USER
  2058. * EXTENDED MEMORY SPACE AND ALLOCATION INFORMATION IN THE
  2059. * SYSTEM SECTOR, WHILE ATTEMPTING TO RECOVER THE USER
  2060. * DIRECT ACCESS SPACE.
  2061. *
  2062. * *USER EM SPACE UNAVAILABLE.* = THE AMOUNT
  2063. * REQUESTED FOR USER EXTENDED MEMORY (VIA THE *XM* ENTRY IN
  2064. * *EQPDECK*) IS NOT AVAILABLE.
  2065. *
  2066. * *USER EXTENDED MEMORY SYSTEM SECTOR ERROR.* = AN ERROR WAS
  2067. * DETECTED WHILE READING THE SYSTEM SECTOR FOR THE USER
  2068. * EXTENDED MEMORY CHAIN.
  2069. 4RB SPACE 4,10
  2070. **** DIRECT CELL DEFINITIONS LOCAL TO *4RB*.
  2071.  
  2072.  
  2073. T8 EQU 26 POINTER TO SUB-CHAIN ENTRY
  2074. T9 EQU 27 CURRENT MACHINE ID
  2075. KA EQU QS CP/PCP NUMBER
  2076. KB EQU QI MCT ENTRY COUNT
  2077. AB EQU FN CM WORD BUFFER
  2078.  
  2079. ****
  2080. ECS TITLE MAIN PROCESSING ROUTINE.
  2081. ECS SPACE 4,10
  2082. ** ECS - MAIN ROUTINE.
  2083.  
  2084.  
  2085. ORG OVLA
  2086. ECS SUBR ENTRY/EXIT
  2087. RJM PRS PRESET OVERLAY
  2088. LDM TAXM
  2089. ZJN ECS1 IF NO ENTRY FOR THIS MACHINE
  2090. LDM TAXM+2 GET LENGTH OF USER EXTENDED MEMORY
  2091. STD FS+2
  2092. ECS1 RJM SDI INTERLOCK ECS
  2093. LDM ECSE+ACGL*5+1 CHECK FOR FIRST TRACK OF UEC CHAIN
  2094. ZJN ECS2 IF MST NOT INITIALIZED
  2095. LJM ECS8 IF SOME USER ECS SPACE ALLOCATED
  2096.  
  2097. * INITIALIZE USER EXTENDED MEMORY CHAIN AND MST.
  2098.  
  2099. ECS2 LDD FS+2
  2100. ZJN ECS4 IF NO USER ECS REQUESTED FOR THIS MACHINE
  2101. LDD RS
  2102. NJN ECS6 IF NOT LEVEL 0 DEADSTART
  2103. RJM ISS INITIALIZE SYSTEM SECTOR
  2104. LDM ECSE+ACGL*5+1 END OF CURRENT CHAIN
  2105. STD FS+4
  2106. LDC BFMS+2+4*5 SET FIRST ENTRY POINTER
  2107. STD T8
  2108.  
  2109. * ASSIGN USER EXTENDED MEMORY AREA.
  2110.  
  2111. ECS3 RJM ACE ASSIGN TRACKS
  2112. RJM SSS STORE SYSTEM SECTOR
  2113. ECS4 RJM CDI CLEAR INTERLOCK
  2114. ECSA RJM SCP SETUP CONTROL POINT AREAS
  2115. * UJN *+2 (DURING MMF PROCESSING)
  2116. ECS5 LDC 0
  2117. ECSB EQU *-1
  2118. LMD FS
  2119. ZJN ECS7 IF ALLOCATING ON MMF LINK
  2120. ECS5.1 LJM ECSX RETURN
  2121.  
  2122. * ERROR IN USER EXTENDED MEMORY ALLOCATION.
  2123.  
  2124. ECS6 RJM CDI CLEAR INTERLOCK
  2125. LDC =C*USER EXTENDED MEMORY IMPROPERLY ALLOCATED.*
  2126. LJM HNG ISSUE ERROR AND HANG
  2127.  
  2128. * SET UP TO PROCESS MULTIMAINFRAME ALLOCATION.
  2129.  
  2130. ECS7 LDC UJNI+2 SET MMF SWITCHES
  2131. STM ECSA
  2132. LDD HN
  2133. ERRNZ 100-LJMI ADJUST IF VALUE CHANGES
  2134. STM ECSC
  2135. LDC ECS5
  2136. STM ECSC+1
  2137. RJM CAD CLEAR THIS MACHINES ID AND DATA
  2138. RJM FAD FETCH NEW MACHINE ID AND DATA
  2139. ZJN ECS5.1 IF NO MORE MACHINES TO ALLOCATE
  2140. STD T9
  2141. LDM 2,T1 SET NEW USER EXTENDED MEMORY AREA LENGTH
  2142. STD FS+2
  2143. LJM ECS1 PROCESS ANOTHER MACHINE
  2144.  
  2145. * PROCESS EXISTING USER EXTENDED MEMORY CHAIN.
  2146.  
  2147. ECS8 RJM CDI CLEAR INTERLOCK ON ECS
  2148. RJM FSS FETCH EXISTING SYSTEM SECTOR
  2149. RJM FTM FIND THIS MACHINES ENTRY
  2150. LDM 2,T8
  2151. NJN ECS9 IF SPACE EXISTS FOR THIS MACHINE
  2152. LDD FS+2
  2153. ZJN ECS12 IF SPACE NOT REQUESTED FOR THIS MACHINE
  2154. LDD RS
  2155. NJN ECS10 IF NOT LEVEL 0, THEN ERROR
  2156. UJN ECS14 LOCATE END OF USER EXTENDED MEMORY CHAIN
  2157.  
  2158. * PROCESS EXISTING SUB-CHAIN.
  2159.  
  2160. ECS9 LDM 3,T8 SET RAE FROM SYSTEM SECTOR
  2161. STD FS+3
  2162. LDM 1,T8 SET FIRST TRACK OF SUB CHAIN
  2163. STD FS+1
  2164. LDD FS+2
  2165. NJN ECS13 IF SPACE REQUESTED
  2166. LDD RS
  2167. ZJN ECS11 IF LEVEL 0 DEADSTART
  2168. ECS10 LJM ECS6 REPORT ERROR
  2169.  
  2170. * RELEASE EXISTING SUB-CHAIN.
  2171.  
  2172. ECS11 RJM RLS RELEASE SPACE
  2173. STD T9 CLEAR SUB-CHAIN ENTRY
  2174. STD FS+2
  2175. RJM SSS STORE UPDATED SYSTEM SECTOR
  2176. ECS12 LJM ECS4 COMPLETE PROCESSING
  2177.  
  2178. * UPDATE EXISTING SUB-CHAIN.
  2179.  
  2180. ECS13 LDM 2,T8
  2181. SBD FS+2
  2182. ZJN ECS12 IF SPACE MATCHES
  2183. LDD RS
  2184. NJN ECS10 IF NOT LEVEL 0 DEADSTART, THEN ERROR
  2185. ECSC RJM RLS RELEASE SPACE
  2186. * LJM ECS5 (DURING MMF PROCESSING)
  2187.  
  2188. * FIND LAST TRACK OF USER EXTENDED MEMORY CHAIN.
  2189.  
  2190. ECS14 LDD FS SET EQUIPMENT
  2191. STD T5
  2192. LDM ECSE+ACGL*5+1 SET FIRST TRACK
  2193. STD T6
  2194. RJM IRA INITIALIZE RANDOM ACCESS PROCESSORS
  2195. LDN 0 FORCE TRT UPDATE
  2196. RJM SEI SEARCH FOR EOI
  2197. LDD T6 SET LAST TRACK
  2198. STD FS+4
  2199. LJM ECS3 ASSIGN TRACKS
  2200.  
  2201.  
  2202. ECSE BSS 3*5 BUFFER FOR MST GLOBAL WORDS
  2203. ECSF VFD 42/7H**UECS.,6/0,6/SYFT,6/0
  2204. TITLE SUBROUTINES.
  2205. ACE SPACE 4,10
  2206. ** ACE - ASSIGN CONTIGUOUS EXTENDED MEMORY TRACKS.
  2207. *
  2208. * ENTRY (FS) = EXTENDED MEMORY EST ORDINAL.
  2209. * (FS+2) = LENGTH OF USER EXTENDED MEMORY AREA / *EMBS*.
  2210. * (FS+4) = LAST TRACK OF CURRENT CHAIN.
  2211. *
  2212. * EXIT (FS+1) = FIRST TRACK OF SUB-CHAIN.
  2213. * (FS+3) = RA/*EMBS* OF USER EXTENDED MEMORY AREA.
  2214. * (FS+4) = LAST TRACK OF NEW SUB-CHAIN.
  2215. *
  2216. * USES CM - CM+7, CN - CN+4, FS+1 - FS+3, T0 - T7.
  2217. *
  2218. * CALLS CAT, CDI.
  2219.  
  2220.  
  2221. ACE17 LDN 0 CLEAR FIELDS
  2222. STD FS+1
  2223. STD FS+3
  2224.  
  2225. ACE SUBR ENTRY/EXIT
  2226. LDD FS+2
  2227. ZJN ACE17 IF NO USER EXTENDED MEMORY TO BE ALLOCATED
  2228. ADN 2
  2229. SHN 5
  2230. STD T1 ALLOW FOR *EMBS* WORD BLOCKS
  2231. SHN -14
  2232. STD T6
  2233. LDN 0 TRACK COUNT = (FL*40) / 101
  2234. STD T7
  2235. ACE0 AOD T7 ADVANCE TRACK COUNT
  2236. LDC -101
  2237. RAD T1
  2238. PJN ACE0 IF NOT UNDERFLOW
  2239. AOD T1
  2240. SOD T6
  2241. PJN ACE0 IF NOT END OF CONVERSION
  2242. LDN 17
  2243. ACEB SHN -4 ADJUST FOR BLOCKING FACTOR
  2244. * SHN -4+UESC-EMSC
  2245. RAD T7
  2246. RJM CDI CLEAR INTERLOCK ON ECS
  2247. UJN ACE2 ENTER LOOP
  2248.  
  2249. ACE1 LDD NC WRITE MESSAGE TO SYSTEM CONTROL POINT
  2250. SHN 7
  2251. ADN MS2W
  2252. CWM =C*USER EM SPACE UNAVAILABLE.*,TR
  2253. ACE2 PAUSE NE
  2254. LCN 1 SET TO REQUEST ALL TRACKS
  2255. STD CM+4
  2256. SHN -14
  2257. STD CM+3
  2258. LDD FS SET EST ORDINAL
  2259. STD CM+1
  2260. LDD FS+4 SET CURRENT TRACK
  2261. STD CM+2
  2262. MONITOR RTCM REQUEST ALL AVAILABLE ECS SPACE
  2263. LDD CM+4
  2264. ZJN ACE1 IF TRACKS NOT AVAILABLE
  2265. RJM CAT CALCULATE FWA OF TRT
  2266. STM ACEA+1
  2267. SHN -14
  2268. ADC ADCI
  2269. STM ACEA
  2270.  
  2271. * FIND BEST FITTING CONTIGUOUS TRACK CHAIN.
  2272. * (T0) = POINTER TO FIRST TRACK OF CHAIN UNDER CONSIDERATION.
  2273. * (T1) = FIRST TRACK OF CHAIN UNDER CONSIDERATION.
  2274. * (T2) = LENGTH OF CHAIN UNDER CONSIDERATION.
  2275. * (T3) = POINTER TO FIRST TRACK OF BEST FIT SO FAR.
  2276. * (T4) = FIRST TRACK OF BEST FIT SO FAR.
  2277. * (T5) = LENGTH OF BEST FIT SO FAR.
  2278. * (T6) = BYTE INDEX.
  2279. * (T7) = LENGTH OF TRACK CHAIN REQUESTED.
  2280. * (CM) = POINTER TO FIRST TRACK OF LONGEST CHAIN SO FAR.
  2281. * (CM+1) = FIRST TRACK OF LONGEST CHAIN SO FAR.
  2282. * (CM+2) = LENGTH OF LONGEST CHAIN SO FAR.
  2283.  
  2284. LDN ZERL
  2285. CRD T0
  2286. LDN 0
  2287. STD CM
  2288. STD CM+1
  2289. STD CM+2
  2290. LDD NC CLEAR MESSAGE AT SYSTEM CONTROL POINT
  2291. SHN 7
  2292. ADN MS2W
  2293. CWD CM
  2294. LCN 0 PRESET AMOUNT OF SLOP IN BEST FIT
  2295. STD T5
  2296. LDD CM+4 SET FIRST TRACK
  2297. LJM ACE9
  2298.  
  2299. * SCAN TRT FOR CONTIGUOUS TRACKS.
  2300.  
  2301. ACE4 AOD T2 INCREMENT LENGTH OF THIS CHAIN
  2302. LDD CM+3 SET BYTE INDEX
  2303. LPN 3
  2304. STD T6
  2305. NJN ACE6 IF NOT POINTER TO NEW WORD
  2306. ACE5 LDD CM+3 READ NEW TRT WORD
  2307. SHN -2
  2308. ACEA ADC TRTS
  2309. CRD CN
  2310. ACE6 AOD CM+3
  2311. LMM CN,T6
  2312. ZJN ACE4 IF CONTIGUOUS TRACK
  2313. LDD T2 CHECK FOR LONGEST CHAIN
  2314. SBD CM+2
  2315. MJN ACE7 IF OLD TRACK CHAIN LONGER
  2316. RAD CM+2 SET NEW LENGTH
  2317. LDD T0 SET POINTER TO FIRST TRACK
  2318. STD CM
  2319. LDD T1 SET FIRST TRACK
  2320. STD CM+1
  2321. ACE7 LDD T2 CHECK IF THIS CHAIN LONG ENOUGH
  2322. SBD T7
  2323. MJN ACE8 IF NOT LONG ENOUGH
  2324. SBD T5 COMPARE AMOUNT OF SLOP
  2325. PJN ACE8 IF OLD CHAIN HAS LESS SLOP
  2326. RAD T5 SET NEW AMOUNT OF SLOP
  2327. LDD T0 SET POINTER TO FIRST TRACK
  2328. STD T3
  2329. LDD T1 SET FIRST TRACK
  2330. STD T4
  2331. ACE8 SOD CM+3 SET POINTER TO FIRST TRACK OF NEXT CHAIN
  2332. STD T0
  2333. LDM CN,T6 CHECK FOR EOI
  2334. ACE9 SHN 6
  2335. PJN ACE10 IF EOI
  2336. SHN -6
  2337. STD CM+3 SET FIRST TRACK OF NEXT CHAIN TO CHECK
  2338. STD T1
  2339. LPN 3 SET BYTE INDEX
  2340. STD T6
  2341. LDN 1
  2342. STD T2
  2343. LJM ACE5
  2344.  
  2345. * COMPLETE PROCESSING.
  2346.  
  2347. ACE10 LDD T7 ADJUST TRACK CHAIN LENGTH
  2348. RAD T5
  2349. LDD T4 CHECK IF LARGE ENOUGH CHAIN FOUND
  2350. NJN ACE11 IF CHAIN FOUND
  2351. LDD FS+4
  2352. UJN ACE14 DROP SHORT TRACK TRAIN
  2353.  
  2354. * DROP UNUSED TRACKS.
  2355.  
  2356. ACE11 LMD CM+4
  2357. ZJN ACE12 IF ONLY NEED TO DROP TRACKS OFF END
  2358. LDD FS SET EXTENDED MEMORY EQ NUMBER
  2359. STD CM+1
  2360. LDD FS+4 SET TRACK TO LINK TO
  2361. LPC 3777
  2362. STD CM+2
  2363. LDD T4 SET FIRST TRACK OF CONTIGUOUS CHAIN
  2364. STD CM+3
  2365. LDD T3 SET LAST TRACK TO DROP
  2366. STD CM+4
  2367. MONITOR DLKM
  2368. ACE12 LDD T7 CHECK IF ALL REQUEST SPACE FOUND
  2369. SBD T5
  2370. PJN ACE13 DROP UNNEEDED TRACKS
  2371. RAD T5
  2372. ACE13 LDD T4 COMPUTE LAST TRACK NEEDED IN CHAIN
  2373. ADD T5
  2374. SBN 1
  2375. ACE14 LPC 3777
  2376. STD CM+2
  2377. LDD FS SET EXTENDED MEMORY EQ NUMBER
  2378. LMC 4000
  2379. STD CM+1
  2380. LDN 0 SET SECTOR NUMBER
  2381. STD CM+3
  2382. MONITOR DTKM DROP TRACKS
  2383.  
  2384. * COMPUTE RA AND LAST TRACK OF USER EXTENDED MEMORY AREA.
  2385.  
  2386. LDD T4 SET FIRST TRACK
  2387. NJN ACE15 IF USER EXTENDED MEMORY SPACE FOUND
  2388. LJM ISS2 REPORT ERROR
  2389.  
  2390. ACE15 STD FS+1
  2391. LPC 3777 COMPUTE USER EXTENDED MEMORY RA
  2392. STD T6
  2393. SHN 6 *100
  2394. ADD T6 *101
  2395. SHN 1 *202
  2396. ADN 77 ROUND TO NEAREST *EMBS* WORDS
  2397. SHN -6
  2398. STD FS+3 SET USER EXTENDED MEMORY RA
  2399. LDN 17 ROUND TO NEAREST *UEBS* WORDS
  2400. ACEC SHN -4
  2401. * SHN -4+UESC-EMSC
  2402. RAD FS+3
  2403. LDD T5 COMPUTE USER EXTENDED MEMORY FL
  2404. RAD T6
  2405. STD FS+4 SET LAST TRACK
  2406. SHN 6 *100
  2407. ADD T6 *101
  2408. SHN -5 *202/100
  2409. SBD FS+3 SUBTRACT EXTENDED MEMORY RA
  2410. SBD FS+2
  2411. PJN ACE16 IF SUFFICIENT SPACE
  2412. LJM ECS6 REPORT ERROR
  2413.  
  2414. ACE16 LDC 3777 POINT TO LAST TRACK
  2415. RAD FS+4
  2416. LJM ACEX RETURN
  2417. CAD SPACE 4,10
  2418. ** CAD - CLEAR ALLOCATION DATA.
  2419. *
  2420. * ENTRY (T9) = ID OF MACHINE TO BE CLEARED.
  2421. *
  2422. * USES T1.
  2423.  
  2424.  
  2425. CAD2 STI T1 CLEAR ENTRY
  2426.  
  2427. CAD SUBR ENTRY/EXIT
  2428. LDC TAXM
  2429. STD T1
  2430. CAD1 LDI T1
  2431. LMD T9
  2432. ZJN CAD2 IF MATCH FOUND
  2433. LDN 5
  2434. RAD T1
  2435. LMC TAXML
  2436. NJN CAD1 LOOP
  2437. UJN CADX RETURN
  2438. CAT SPACE 4,10
  2439. ** CAT - CALCULATE ADDRESS OF TRT.
  2440. *
  2441. * ENTRY (CATA) = EXTENDED MEMORY MST ADDRESS / 10.
  2442. *
  2443. * EXIT (A) = FWA OF TRT - 1000.
  2444. *
  2445. * USES T0 - T4.
  2446.  
  2447.  
  2448. CAT SUBR ENTRY/EXIT
  2449. LDC ** READ TRT ADDRESS FROM EXTENDED MEMORY MST
  2450. CATA EQU *-1 (ECS MST ADDRESS)
  2451. SHN 3
  2452. ADN TRLL
  2453. CRD T0
  2454. LDD T0+3
  2455. LPN 77
  2456. SHN 14
  2457. LMD T0+4
  2458. SBD TH 4000/4
  2459. UJN CATX RETURN
  2460. CDI SPACE 4,10
  2461. ** CDI - CLEAR DEVICE INTERLOCK ON ECS.
  2462. *
  2463. * ENTRY (FS) = EXTENDED MEMORY EST ORDINAL.
  2464. *
  2465. * EXIT (DIFL) = 0.
  2466. *
  2467. * USES CM - CM+4.
  2468.  
  2469.  
  2470. CDI SUBR ENTRY/EXIT
  2471. LDM DIFL
  2472. ZJN CDIX IF INTERLOCK NOT SET
  2473. LDD FS SET EQUIPMENT
  2474. STD CM+1
  2475. LDN CDIS SET FUNCTION
  2476. STD CM+3
  2477. LDN 0
  2478. STD CM+2
  2479. STD CM+4
  2480. MONITOR STBM
  2481. * LDN 0 CLEAR INTERLOCK FLAG
  2482. STM DIFL
  2483. UJN CDIX RETURN
  2484. CTE SPACE 4,10
  2485. ** CTE - CREATE MEMORY CONTROL TABLE ENTRY.
  2486. *
  2487. * ENTRY (KA) = CP/PCP NUMBER.
  2488. * (CN) = RAX BACKWARD LINK.
  2489. * (CN+1) = RAX FORWARD LINK.
  2490. *
  2491. * USES AB - AB+4, CM - CM+4.
  2492. *
  2493. * CALLS SCA.
  2494.  
  2495.  
  2496. CTE SUBR ENTRY/EXIT
  2497. LDD KA
  2498. RJM SCA SET CURRENT CPA/PCPA ADDRESS
  2499. ADN ECSW
  2500. CRD CM READ MEMORY CONTROL WORD
  2501. LDD CM+4
  2502. RAD CM+3 FORM RAX + FLX
  2503. SHN -14
  2504. RAD CM+2 NEXT POTENTIAL RAX
  2505. LDD CN+1
  2506. ZJN CTE1 IF SYSTEM CP
  2507. LMD NC
  2508. NJN CTE2 IF NOT LINKED TO SYSTEM CP
  2509. CTE1 STD CM+2
  2510. UJN CTE3 SET NO UNASSIGNED MEMORY
  2511.  
  2512. CTE2 LDD CN+1 GET FORWARD LINKED CP/PCP ADDRESS
  2513. RJM SCA
  2514. ADN ECSW READ FL CONTROL WORD
  2515. CRD AB
  2516. LDD AB+2 RAX OF FORWARD LINK
  2517. SHN 14
  2518. LMD AB+3
  2519. SBD CM+3 SUBTRACT CURRENT RAX + FLX
  2520. CTE3 STD CN+4
  2521. SHN -14
  2522. SBD CM+2 SET UNASSIGNED MEMORY
  2523. STD CN+3
  2524. LDD KA FORM CONTROL TABLE ADDRESS
  2525. SHN 1
  2526. ADC 1 STORE MCT WORD
  2527. CTEA EQU *-1
  2528. CWD CN
  2529. UJP CTEX RETURN
  2530. FAD SPACE 4,10
  2531. ** FAD - FETCH ALLOCATION DATA.
  2532. *
  2533. * EXIT (A) = ((T1)) = MACHINE ID,IF ONE FOUND.
  2534. * = 0 IF NO ENTRIES IN ALLOCATION DATA.
  2535. *
  2536. * USES T1.
  2537.  
  2538.  
  2539. FAD SUBR ENTRY/EXIT
  2540. LDC TAXM
  2541. STD T1
  2542. FAD1 LDI T1
  2543. NJN FADX IF ENTRY FOUND
  2544. LDN 5
  2545. RAD T1
  2546. LMC TAXML
  2547. ZJN FADX IF END OF SEARCH
  2548. UJN FAD1 LOOP
  2549. FSS SPACE 4,10
  2550. ** FSS - FETCH SYSTEM SECTOR FOR USER EXTENDED MEMORY CHAIN.
  2551. *
  2552. * ENTRY (ECSE) = MST GLOBAL WORDS.
  2553. * (FS) = EXTENDED MEMORY EST ORDINAL.
  2554. *
  2555. * EXIT (BFMS) = SYSTEM SECTOR FOR USER EXTENDED MEMORY CHAIN.
  2556. *
  2557. * USES T5, T6.
  2558. *
  2559. * CALLS CDI, RSS.
  2560.  
  2561.  
  2562. FSS1 ENDMS
  2563.  
  2564. FSS SUBR ENTRY/EXIT
  2565. LDD FS SET EST ORDINAL
  2566. STD T5
  2567. LDM ECSE+ACGL*5+1 SET FIRST TRACK
  2568. STD T6
  2569. SETMS IO
  2570. LDC ECSF READ SYSTEM SECTOR
  2571. RJM RSS
  2572. ZJN FSS1 IF NO ERROR IN SYSTEM SECTOR
  2573. RJM CDI CLEAR DEVICE INTERLOCK
  2574. LDC =C*USER EXTENDED MEMORY SYSTEM SECTOR ERROR.*
  2575. UJN HNG ISSUE ERROR AND HANG
  2576. FTM SPACE 4,10
  2577. ** FTM - FIND THIS MACHINES ID IN THE SYSTEM SECTOR.
  2578. *
  2579. * ENTRY (T9) = MACHINE ID TO BE FOUND.
  2580. * (BFMS) = SYSTEM SECTOR FOR USER EXTENDED MEMORY CHAIN.
  2581. *
  2582. * EXIT (T8) = POINTER TO THIS MACHINES ID OR POINTER TO THE
  2583. * FIRST EMPTY SUB-CHAIN ENTRY.
  2584. * IF NO MATCH AND NO EMPTY ENTRY THEN EXIT TO *ECS6*
  2585. * TO REPORT ERROR CONDITION.
  2586. *
  2587. * USES T1, T8.
  2588.  
  2589.  
  2590. FTM3 LDD T1
  2591. NJN FTM4 IF EMPTY ENTRY FOUND
  2592. LJM ECS6 REPORT ERROR
  2593.  
  2594. FTM4 STD T8 SET POINTER TO EMPTY SUB-CHAIN
  2595.  
  2596. FTM SUBR ENTRY/EXIT
  2597. LDC BFMS+2+3*5 INITIALIZE POINTERS
  2598. STD T8
  2599. LDN 0
  2600. STD T1
  2601. FTM1 LDN 5 INCREMENT POINTER
  2602. RAD T8
  2603. LMC BFMS+2+10*5
  2604. ZJN FTM3 IF END OF SUB-CHAIN ENTRIES
  2605. LDI T8
  2606. NJN FTM2 IF NOT AN EMPTY ENTRY
  2607. LDD T1
  2608. NJN FTM1 IF FIRST EMPTY ENTRY ALREADY FOUND
  2609. LDD T8 SET POINTER TO EMPTY ENTRY
  2610. STD T1
  2611. UJN FTM1 LOOP
  2612.  
  2613. FTM2 LMD T9
  2614. ZJN FTMX IF MATCH FOUND
  2615. UJN FTM1 LOOP
  2616. HNG SPACE 4,10
  2617. ** HNG - ISSUE MESSAGE AND HANG.
  2618. *
  2619. * ENTRY (A) = ERROR MESSAGE ADDRESS.
  2620.  
  2621.  
  2622. HNG STM HNGA SAVE MESSAGE ADDRESS
  2623. LDN 4
  2624. STD T1
  2625. LDD NC WRITE MESSAGE TO SYSTEM CONTROL POINT
  2626. SHN 7
  2627. ADN MS2W
  2628. CWM **,T1
  2629. HNGA EQU *-1
  2630. UJN * HANG
  2631. ISS SPACE 4,10
  2632. ** ISS - INITIALIZE SYSTEM SECTOR FOR USER EXTENDED MEMORY AREA.
  2633. *
  2634. * ENTRY (FS) = EXTENDED MEMORY EST ORDINAL.
  2635. * (CATA) = EXTENDED MEMORY MST ADDRESS / 10.
  2636. * (ECSE) = GLOBAL MST WORDS.
  2637. *
  2638. * EXIT UPDATED GLOBAL MST STORED IN CENTRAL MEMORY.
  2639. * SYSTEM SECTOR INITIALIZED.
  2640. *
  2641. * USES CM - CM+4, FA, T1, T2, T5, T6.
  2642. *
  2643. * CALLS CDI, DCH, RCH, SDI, SMS, WEI, WSS.
  2644.  
  2645.  
  2646. ISS SUBR ENTRY/EXIT
  2647. LDC 500 INITIALIZE TO CLEAR SYSTEM SECTOR
  2648. STD T1
  2649. ISS1 LDN 0 CLEAR SYSTEM SECTOR
  2650. STM BFMS+2,T1
  2651. SOD T1
  2652. NJN ISS1 IF NOT TIME TO MOVE FNT ENTRY
  2653. STD FA
  2654. LDD MA SET FNT ENTRY IN SYSTEM SECTOR
  2655. CWM ECSF,ON
  2656. SBN 1
  2657. CRM FNSS,ON
  2658. RJM CDI CLEAR INTERLOCK ON ECS
  2659. LDN ZERL REQUEST FIRST TRACK OF USER ECS CHAIN
  2660. CRD CM
  2661. LDD FS
  2662. STD CM+1
  2663. STD T5
  2664. MONITOR RTCM
  2665. LDD CM+4
  2666. NJN ISS3 IF TRACK ASSIGNED
  2667. ISS2 LDC =C*USER EXTENDED MEMORY SPACE UNAVAILABLE.*
  2668. LJM HNG ISSUE ERROR AND HANG
  2669.  
  2670. ISS3 STD T6
  2671. RJM SDI INTERLOCK ECS
  2672. LDD T6
  2673. STM ECSE+ACGL*5+1 SET FIRST TRACK IN GLOBAL DATA
  2674. LDM CATA SET FIRST TRACK IN MST
  2675. SHN 3
  2676. ADN ACGL
  2677. CWM ECSE+ACGL*5,ON
  2678. RJM CDI CLEAR INTERLOCK ON ECS
  2679. SETMS IO
  2680. RJM WSS WRITE SYSTEM SECTOR
  2681. RJM WEI WRITE EOI
  2682. ENDMS
  2683. LDD T6 PRESERVE USER EXTENDED MEMORY AREA
  2684. STD CM+2
  2685. LDN SPFS
  2686. STD CM+3
  2687. LDD FS SET EXTENDED MEMORY EQUIPMENT
  2688. ADC 4000 SET CHECKPOINT REQUEST
  2689. STD CM+1
  2690. MONITOR STBM
  2691. LJM ISSX RETURN
  2692. RLS SPACE 4,10
  2693. ** RLS - RELEASE EXISTING USER EXTENDED MEMORY SUB-CHAIN.
  2694. *
  2695. * ENTRY (BFMS) = SYSTEM SECTOR FOR USER EXTENDED MEMORY CHAIN.
  2696. * (ECSE) = GLOBAL MST WORDS.
  2697. * (FS) = EXTENDED MEMORY EST ORDINAL.
  2698. * (T8) = POINTER TO SUB-CHAIN ENTRY TO BE RELEASED.
  2699. *
  2700. * EXIT (A) = (FS+1) = (FS+3) = (FS+4) = 0.
  2701. * TO *ECS6* IF UNABLE TO LOCATE PREDECESSOR TRACK FOR
  2702. * SUB-CHAIN TO BE RELEASED.
  2703. *
  2704. * USES CM - CM+4, T1, T3.
  2705. *
  2706. * CALLS CAT.
  2707.  
  2708.  
  2709. RLS SUBR ENTRY/EXIT
  2710. RJM CAT CALCULATE FWA OF TRT
  2711. STM RLSA+1
  2712. STM RLSB+1
  2713. SHN -14
  2714. LMC ADCI
  2715. STM RLSA
  2716. STM RLSB
  2717. LDC BFMS+2+3*5+4 INITIALIZE FOR SEARCH
  2718. STD T3
  2719. LDM ECSE+ACGL*5+1
  2720. STI T3
  2721.  
  2722. * LOCATE PREDECESSOR TRACK OF SUB-CHAIN TO BE RELEASED.
  2723.  
  2724. RLS1 LDI T3 READ TRT WORD CONTAINING THIS TRACK
  2725. SHN -2
  2726. RLSA ADC TRTS
  2727. CRD CM
  2728. LDI T3 SET BYTE INDEX
  2729. LPN 3
  2730. STD T1
  2731. LDM CM,T1 CHECK LINK
  2732. LMM 1,T8
  2733. ZJN RLS2 IF PREDECESSOR TRACK FOUND
  2734. LDN 5
  2735. RAD T3
  2736. LMC BFMS+2+10*5+4
  2737. NJN RLS1 IF MORE ENTRIES TO SEARCH
  2738. LJM ECS6 REPORT ERROR
  2739.  
  2740. * LOCATE SUCCESSOR TRACK TO SUB-CHAIN TO BE RELEASED.
  2741.  
  2742. RLS2 LDM 4,T8 FIND TRACK TO LINK TO
  2743. SHN -2
  2744. RLSB ADC TRTS
  2745. CRD CM
  2746. LDM 4,T8
  2747. LPN 3
  2748. STD T1
  2749. LDM CM,T1
  2750. SHN 21-13
  2751. PJN RLS3 IF LAST TRACK IN CHAIN
  2752.  
  2753. * DELINK SUB-CHAIN.
  2754.  
  2755. SHN -6 SET TRACK TO BE LINKED
  2756. STD CM+3
  2757. LDI T3 SET TRACK TO LINK TO
  2758. LPC 3777
  2759. STD CM+2
  2760. LDM 4,T8 SET LAST TRACK TO DROP
  2761. STD CM+4
  2762. LDD FS SET EST ORDINAL
  2763. ADC 4000 SET CHECKPOINT REQUEST
  2764. STD CM+1
  2765. MONITOR DLKM
  2766. UJN RLS4 COMPLETE PROCESSING
  2767.  
  2768. * DROP LAST SUB-CHAIN.
  2769.  
  2770. RLS3 LDI T3 GET PREDECESSOR TRACK
  2771. LPC 3777 SET TO DROP AFTER THIS TRACK
  2772. STD CM+2
  2773. LDN 0
  2774. STD CM+3
  2775. STD CM+4
  2776. LDD FS SET EST ORDINAL
  2777. ADC 4000 SET CHECKPOINT REQUEST
  2778. STD CM+1
  2779. MONITOR DTKM
  2780.  
  2781. * COMPLETE RELEASE SUB-CHAIN PROCESSING.
  2782.  
  2783. RLS4 LDN 0 CLEAR TRACK POINTERS
  2784. STD FS+1
  2785. STD FS+4
  2786. STD FS+3 CLEAR RA OF RELEASED SUB-CHAIN
  2787. LJM RLSX RETURN
  2788. SCP SPACE 4,10
  2789. ** SCP - SETUP CONTROL POINT AREAS.
  2790. *
  2791. * ENTRY (FS+2) = LENGTH OF USER EXTENDED MEMORY AREA / *EMBS*.
  2792. * (FS+3) = RA/*EMBS* OF USER EXTENDED MEMORY AREA.
  2793. * (NC) = NUMBER OF CONTROL POINTS.
  2794. * (NS) = NUMBER OF CP-S + PCP-S.
  2795. *
  2796. * EXIT *ECRL* SETUP IN CMR, ALL CONTROL POINT AREAS SETUP.
  2797. *
  2798. * USES T1, T2, T7, CM - CM+4, FS+1 - FS+4.
  2799. *
  2800. * CALLS SMT.
  2801.  
  2802.  
  2803. SCP SUBR ENTRY/EXIT
  2804. LDD FS+2
  2805. STD FS+1
  2806. LDN ECRL COMPLETE BUILD OF *ECRL*
  2807. CRD CM
  2808. LDN 0 CLEAR EXTENDED MEMORY EQUIPMENT
  2809. STD CM
  2810. LDD FS+3 SET USER EXTENDED MEMORY RA
  2811. SCPA SHN 0
  2812. * SHN EMSC-UESC
  2813. STD FS+3
  2814. STD CM+3
  2815. SHN -14
  2816. STD FS+2
  2817. STD CM+2
  2818. LDN ECRL
  2819. CWD CM
  2820. LDD FS+1
  2821. ZJN SCPX IF NO USER ECS IN ECS EQUIPMENT
  2822. LDD CM+4
  2823. STD FS+4 SAVE USER XM RESERVED FOR CP 0
  2824. LDN ZERL
  2825. CRD CM
  2826. LDN CPNS SETUP CONTROL POINT AREAS
  2827. STD T7
  2828. LDD FS+2
  2829. SHN 14
  2830. ADD FS+3 SET XM RA IN CONTROL POINT WORK AREA
  2831. ADD FS+4
  2832. SCP2 STD CM+3
  2833. SHN -14
  2834. STD CM+2
  2835. SCP3 LDD T7 FORM CONTROL POINT ADDRESS
  2836. SHN 7
  2837. ADN ECSW SET ECS RA IN CONTROL POINT AREA
  2838. CWD CM
  2839. AOD T7
  2840. SBD NC
  2841. ZJN SCP4 IF SYSTEM CP
  2842. ADD NC
  2843. LMN 2
  2844. NJN SCP3 IF NOT SECOND CP
  2845. LDD FS+1
  2846. SCPB SHN 0
  2847. * SHN EMSC-UESC
  2848. ADD FS+3 ALLOCATE XM FL BETWEEN 1ST AND 2ND CP-S
  2849. SHN 6
  2850. LMD FS+2
  2851. SHN 14
  2852. UJN SCP2 SETUP SECOND CP AREA
  2853.  
  2854. SCP4 LDD FS+2 SETUP *ECSW* FOR SYSTEM CONTROL POINT
  2855. STD CM+2
  2856. LDD FS+3
  2857. STD CM+3
  2858. LDD FS+1
  2859. SCPC SHN 0
  2860. * SHN EMSC-UESC
  2861. STD CM+4
  2862. LDD NC
  2863. SHN 7
  2864. ADN ECSW
  2865. CWD CM
  2866. LDD NS SET NUMBER OF PSEUDO CONTROL POINTS
  2867. SBD NC
  2868. ZJN SCP6 IF NO PCP-S
  2869. STD T2
  2870.  
  2871. * SET UP PSEUDO CONTROL POINT AREAS.
  2872.  
  2873. LDD NC INITIALIZE PCP NUMBER
  2874. STD T1
  2875. SBN CPLK CP LINK TO PCP-S
  2876. SHN 7
  2877. ADN ECSW GET FLX CONTROL WORD
  2878. CRD CM
  2879. SCP5 AOD T1 ADVANCE AND SET PCPA ADDRESS
  2880. RJM SCA
  2881. ADN ECSW STORE FLX CONTROL WORD
  2882. CWD CM
  2883. SOD T2
  2884. NJN SCP5 IF MORE PCP-S
  2885. SCP6 RJM SMT
  2886. LDN ACML
  2887. CRD CM
  2888. LDD FS+1 SET UNASSIGNED USER XM
  2889. SCPF SHN 0
  2890. * SHN EMSC-UESC
  2891. SBD FS+4 ADJUST FOR USER XM RESERVED FOR CP 0
  2892. STD CM+3
  2893. LDN ACML STORE AVAILABLE USER XM
  2894. CWD CM
  2895. LDD FS+4
  2896. NJN SCP8 IF USER XM FOR CP 0
  2897. SCP7 LJM SCPX RETURN
  2898.  
  2899. SCP8 SHN 11 CONVERT TO WORD COUNT
  2900. SCPD SHN 0
  2901. * SHN EMSC-UESC
  2902. STD T2
  2903. SHN -14
  2904. STD T1
  2905. LDN ZERL CLEAR THE MESSAGE BUFFER
  2906. CRD CM
  2907. LDD MA
  2908. CWM CM,ON
  2909. CWM CM,ON
  2910. CWM CM,ON
  2911. CWM CM,ON
  2912. SCP9 LDD T1 CLEAR XM BUFFER
  2913. SHN 14
  2914. LMD T2
  2915. SBN 4
  2916. MJN SCP7 IF END OF BUFFER
  2917. STD CM+4
  2918. STD T2
  2919. SHN -14
  2920. STD T1
  2921. LMC WRES*1000 MERGE SUBFUNCTION
  2922. STD CM+3
  2923. LDD MA SET CM ADDRESS
  2924. STD CM+2
  2925. LDC 300 SET WORD COUNT-1
  2926. STD CM+1
  2927. MONITOR ECSM
  2928. LDD CM+1
  2929. ZJN SCP9 IF NO ERROR
  2930. LDC SCPE
  2931. RJM ERR DISPLAY MESSAGE AND HANG
  2932.  
  2933.  
  2934. SCPE DATA C+*ECSM* ERROR CLEARING USER XM.+
  2935. SDI SPACE 4,10
  2936. ** SDI - SET DEVICE INTERLOCK ON ECS.
  2937. *
  2938. * ENTRY (FS) = EXTENDED MEMORY EST ORDINAL.
  2939. *
  2940. * EXIT (ECSE) = MST GLOBAL WORDS.
  2941. * (CATA) = EXTENDED MEMORY MST ADDRESS / 10.
  2942. * (DIFL) = 1.
  2943. *
  2944. * USES CM - CM+4.
  2945. *
  2946. * MACROS MONITOR, SFA.
  2947.  
  2948.  
  2949. SDI1 SFA EST,FS
  2950. ADK EQDE
  2951. CRD CM
  2952. LDD CM+4 READ MST GLOBAL WORDS
  2953. STM CATA
  2954. SHN 3
  2955. ADK TDGL
  2956. CRM ECSE,TR
  2957.  
  2958. SDI SUBR ENTRY/EXIT
  2959. LDC 0
  2960. DIFL EQU *-1 DEVICE INTERLOCKED FLAG (CLEARED BY *CDI*)
  2961. NJN SDI1 IF DEVICE INTERLOCKED
  2962. STD CM+2
  2963. STD CM+4
  2964. LDD FS SET EQUIPMENT
  2965. STD CM+1
  2966. LDN SDIS SET FUNCTION
  2967. STD CM+3
  2968. MONITOR STBM
  2969. AOM DIFL SET INTERLOCKED FLAG
  2970. UJN SDI1 READ MST GLOBAL WORDS
  2971. SMT SPACE 4,10
  2972. ** SMT - SETUP MEMORY CONTROL TABLE.
  2973. *
  2974. * ENTRY (NC) = SYSTEM CP NUMBER.
  2975. * (NS) = NUMBER OF CP-S + PCP-S.
  2976. *
  2977. * USES T5, KA, KB, CN - CN+4.
  2978. *
  2979. * CALLS CTE.
  2980.  
  2981.  
  2982. SMT SUBR ENTRY/EXIT
  2983. LDN 0
  2984. STD KA INITIALIZE CP NUMBER
  2985. CRD CN
  2986. LDD NS SET MCT ENTRY COUNT
  2987. ADN 1
  2988. STD KB INCLUDE CP-0
  2989. STD T5
  2990. SMT1 LDD KA
  2991. STD CN SET BACKWARD LINK
  2992. LDD CN+1
  2993. STD KA CURRENT = PREVIOUS FORWARD LINK
  2994. LMD NC
  2995. ZJN SMT3 IF CREATING ENTRY FOR SYSTEM CP
  2996. AOD CN+1
  2997. ADN CPLK CHECK NEW FORWARD LINK
  2998. SBD NC
  2999. NJN SMT2 IF NOT CP TO LINK TO PCP-S
  3000. LDD NC
  3001. ADN 1 SET FIRST PCP NUMBER
  3002. STD CN+1
  3003. SMT2 LDD CN+1 CHECK NEW FORWARD LINK
  3004. LMD T5
  3005. NJN SMT4 IF NOT LINKING OUT OF PCP-S
  3006. LDD NC
  3007. SBN CPLK SET FORWARD LINK TO REAL CP
  3008. SMT3 STD CN+1
  3009. SMT4 RJM CTE CREATE TABLE ENTRY FOR XM
  3010. SOD KB
  3011. NJN SMT1 IF NOT END OF TABLE
  3012. UJP SMTX RETURN
  3013. SSS SPACE 4,10
  3014. ** SSS - STORE SYSTEM SECTOR FOR USER EXTENDED MEMORY CHAIN.
  3015. *
  3016. * ENTRY (ECSE) = MST GLOBAL WORDS.
  3017. * (FS) = EXTENDED MEMORY EST ORDINAL.
  3018. * (FS+1) = FIRST TRACK OF SUB-CHAIN.
  3019. * (FS+2) = LENGTH OF USER EXTENDED MEMORY AREA.
  3020. * (FS+3) = RA OF USER EXTENDED MEMORY AREA.
  3021. * (FS+4) = LAST TRACK OF SUB-CHAIN.
  3022. * (T8) = POINTER TO SUB-CHAIN DESCRIPTOR ENTRY.
  3023. * (T9) = MMF MACHINE ID FOR CHAIN.
  3024. * = 0 IF SUB-CHAIN ENTRY TO BE CLEARED.
  3025. *
  3026. * EXIT SYSTEM SECTOR UPDATED WITH NEW INFORMATION.
  3027. *
  3028. * USES FA, T5, T6.
  3029. *
  3030. * CALLS WSS.
  3031. *
  3032. * MACROS ENDMS, SETMS.
  3033.  
  3034.  
  3035. SSS SUBR ENTRY/EXIT
  3036. LDD FS SET EST ORDINAL
  3037. STD T5
  3038. LDM ECSE+ACGL*5+1 SET FIRST TRACK
  3039. STD T6
  3040. LDD T9 SET MMF ID
  3041. NJN SSS1 IF NOT CLEARING ENTRY
  3042. LDD T8
  3043. STM SSSA
  3044. LDN ZERL
  3045. CRM **,ON
  3046. SSSA EQU *-1
  3047. UJN SSS2 WRITE SECTOR
  3048.  
  3049. SSS1 STI T8
  3050. LDD FS+1 SET FIRST TRACK OF USER ECS AREA
  3051. STM 1,T8
  3052. LDD FS+2 SET LENGTH OF USER EXTENDED MEMORY AREA
  3053. STM 2,T8
  3054. LDD FS+3 SET RA OF USER EXTENDED MEMORY AREA
  3055. STM 3,T8
  3056. LDD FS+4 SET LAST TRACK OF USER ECS
  3057. STM 4,T8
  3058. SSS2 SETMS IO,DF
  3059. LDN 0 SET FNT DATA PRESTORED
  3060. STD FA
  3061. RJM WSS WRITE SYSTEM SECTOR
  3062. ENDMS
  3063. LJM SSSX RETURN
  3064.  
  3065. SPACE 4,10
  3066. OVERFLOW ECSX,BFMS
  3067. PRS SPACE 4,10
  3068. ** PRS - PRESET PROGRAM.
  3069. *
  3070. * ENTRY (FS) = BYTE 0 OF *ECRL* = EM EST ORDINAL FROM *SET*.
  3071. * (FS+1) = USER XM SIZE / *UEBS*.
  3072. * (FS+2 - FS+3) = USER XM RA / *UEBS*.
  3073. * (RS) = RECOVERY STATUS.
  3074. * TAXM = EM ALLOCATION TABLE GENERATED BY *SET*.
  3075. *
  3076. * EXIT (FS+2) = USER XM SIZE / *EMBS*.
  3077. * (FS+3) = USER XM RA / *EMBS*.
  3078. * (T9) = MACHINE ID.
  3079. *
  3080. * USES CM - CM+4, CN - CN+4, T5 - T7.
  3081.  
  3082.  
  3083. PRS SUBR ENTRY/EXIT
  3084. LDN MEFL
  3085. CRD T5 GET XM SHIFT COUNTS
  3086. ADN MMFL-MEFL
  3087. CRD CN FETCH MMF STATUS
  3088. ADN MCTP-MMFL
  3089. CRD CM READ MCT POINTER
  3090. LDD CM+1
  3091. RAM CTEA
  3092. SHN -14 SET MCT ADDRESS
  3093. ADD CM
  3094. RAM CTEA-1
  3095. LDD T7 EXTRACT USER XM SHIFT COUNT *UESC*
  3096. SHN -11
  3097. STD T9
  3098. LDD T7 EXTRACT XM SHIFT COUNT *EMSC*
  3099. SHN -5
  3100. LPN 3
  3101. STD T0
  3102. SBD T9
  3103. LPN 77 PRESET SHIFT INSTRUCTIONS
  3104. RAM SCPA
  3105. STM SCPB
  3106. STM SCPC
  3107. STM SCPD
  3108. STM SCPF
  3109. LMN 77
  3110. STM PRSA
  3111. STM PRSB
  3112. LDD T9
  3113. SBD T0
  3114. RAM ACEB
  3115. STM ACEC
  3116. LDD FS+2 ADJUST USER XM RA
  3117. SHN 14
  3118. ADD FS+3
  3119. PRSA SHN 0
  3120. * SHN UESC-EMSC
  3121. STD FS+3
  3122. LDD FS+1 ADJUST USER XM FL VALUE
  3123. PRSB SHN 0
  3124. * SHN UESC-EMSC
  3125. STD FS+2
  3126. LDD CN+1 CHECK ALLOCATING ON LINK DEVICE
  3127. LPC 777
  3128. STM ECSB
  3129. LDD CN SAVE MACHINE ID
  3130. STD T9
  3131. UJP PRSX RETURN
  3132.  
  3133. QUAL
  3134. TTL REC/4RC - RECOVER CHANNEL/EQUIPMENT STATUS.
  3135. TITLE
  3136. QUAL RCE
  3137. IDENT 4RC,RCEX
  3138. *COMMENT REC - RECOVER CHANNEL/EQUIPMENT STATUS.
  3139. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  3140. SPACE 4,10
  3141. *** RCE - RECOVER CHANNEL/EQUIPMENT STATUS.
  3142. *
  3143. * RCE WILL READ THE CHANNEL INTERLOCK TABLES AND THE
  3144. * EQUIPMENT STATUS TABLE (EST) FROM THE CHECKPOINT FILE.
  3145. * THE FOLLOWING ITEMS MUST BE RESTORED TO THE STATUS THAT
  3146. * EXISTED BEFORE THE RECOVERY.
  3147. * 1. CHANNELS THAT ARE GLOBALLY DOWN.
  3148. * 2. CHANNELS THAT ARE DOWN FOR A SPECIFIC EQUIPMENT, BUT
  3149. * ARE NOT GLOBALLY DOWN.
  3150. * 3. CHANNELS THAT ARE ASSIGNED TO EJT ORDINALS.
  3151. * 4. EQUIPMENTS THAT ARE DOWN. THE DATA TO BE RESTORED
  3152. * INCLUDES THE DOWN, UNAVAILABLE AND OFF BITS IN THE
  3153. * EST, AND GLOBAL DOWN, GLOBAL UNLOAD, UNLOAD
  3154. * REQUESTED AND UNLOADED BITS IN THE MST.
  3155. RCE SPACE 4,10
  3156. *** ENTRY CONDITIONS.
  3157. *
  3158. * (SE) = EST ORDINAL OF CHECKPOINT FILE.
  3159. * (RECE) = FIRST TRACK OF CHECKPOINT FILE.
  3160. SPACE 4,10
  3161. ORG OVLA
  3162. SPACE 4,10
  3163. ** RCE - MAIN ROUTINE.
  3164.  
  3165.  
  3166. RCE SUBR ENTRY/EXIT
  3167. LDD RS
  3168. LPN SYMK CHECK RECOVERY LEVEL
  3169. LMN SYCM
  3170. ZJN RCE1 IF CM RECOVERY
  3171. LDD CE
  3172. STD T5 CHECKPOINT DEVICE EST ORDINAL
  3173. SETMS IO
  3174. LDM RECE SET FIRST TRACK OF CHECKPOINT FILE
  3175. STD T6
  3176. LDN 3 SET SECTOR OF EST
  3177. STD T7
  3178. RJM PET PROCESS EST
  3179. RJM PCH PROCESS CHANNEL TABLES
  3180. RCE1 RJM RSE RELEASE SYSTEM ASSIGNED EQUIPMENT
  3181. UJP RCEX RETURN
  3182. TITLE SUBROUTINES.
  3183. CDS SPACE 4,10
  3184. ** CDS - CHECK DEVICE STATUS.
  3185. *
  3186. * ENTRY (T5) = EST ORDINAL.
  3187. * (CA) = BUFFER ADDRESS OF EST ENTRY.
  3188. *
  3189. * MACROS SMSTF.
  3190.  
  3191.  
  3192. CDS1 LDI CA CHECK PREVIOUS RECOVERY STATUS
  3193. SHN 21-6
  3194. PJN CDSX IF DEVICE AVAILABLE
  3195. CDS2 SMSTF LUNL SET UNLOAD REQUESTED
  3196. SMSTF LDUL SET DEVICE UNLOADED
  3197.  
  3198. CDS SUBR ENTRY/EXIT
  3199. LDI CA
  3200. SHN 21-13
  3201. PJN CDSX IF NOT MS DEVICE
  3202. SHN 14
  3203. LPN 3 CHECK DEVICE STATE
  3204. LMN 3
  3205. NJN CDS1 IF NOT DOWN
  3206. SMSTF GUNL SET GLOBAL UNLOAD
  3207. UJN CDS2 SET LOCAL MST STATUS
  3208. DDC SPACE 4,10
  3209. ** DDC - DETERMINE DOWN CHANNELS.
  3210. *
  3211. * ENTRY (CA) = ADDRESS OF EST ENTRY IN BUFFER.
  3212. *
  3213. * EXIT ANY CHANNEL MARKED AS DOWN ON THE CHECKPOINT FILE
  3214. * WILL BE SET DOWN IN THE CM COPY OF THE EST ENTRY.
  3215. *
  3216. * USES T1, T2, CM - CM+4.
  3217. *
  3218. * CALLS ISF.
  3219. *
  3220. * MACROS MONITOR.
  3221.  
  3222.  
  3223. DDC4 AOD T1 ADVANCE CHANNEL BYTE ADDRESS
  3224. LMD T2
  3225. NJN DDC1 IF ANOTHER CHANNEL TO CHECK
  3226.  
  3227. DDC SUBR ENTRY/EXIT
  3228. LDD CA
  3229. ADN 1 SET CHANNEL BYTE ADDRESS
  3230. STD T1
  3231. ADN 2 SET END OF PATH DESCRIPTORS
  3232. STD T2
  3233. DDC1 LDI T1
  3234. ZJN DDC4 IF ACCESS UNDEFINED
  3235. SHN 0-11
  3236. LMN 4
  3237. DDC2 ZJN DDC4 IF CHANNEL PRESENT AND UP
  3238. LPN 3
  3239. ZJN DDC3 IF CHANNEL AVAILABLE
  3240. LDN DNCS
  3241. RJM ISF DOWN THE CHANNEL
  3242. DDC3 LDI T1
  3243. SHN 0-13
  3244. NJN DDC4 IF CHANNEL PRESENT
  3245. LDN DAPS
  3246. STD CM+3
  3247. LDD EO SET EST ORDINAL
  3248. STD CM+1
  3249. LDI T1
  3250. LPN 77
  3251. STD CM+2
  3252. MONITOR SCSM DISABLE ACCESS PATH
  3253. * LDN 0
  3254. UJP DDC4 CHECK FOR ALTERNATE ACCESS
  3255. IEQ SPACE 4,10
  3256. ** IEQ - IDENTIFY EQUIPMENT.
  3257. *
  3258. * ENTRY (CA) = BUFFER ADDRESS OF EST ENTRY.
  3259. * (T5) = EST ORDINAL.
  3260. * (CN - CN+4) = EST ENTRY FROM CMR.
  3261. *
  3262. * MACROS SFA.
  3263.  
  3264.  
  3265. IEQ SUBR ENTRY/EXIT
  3266. LDD CA
  3267. ADN EQAE*5
  3268. STM IEQA
  3269. SFA EST,T5 REWRITE *EQAE* WORD OF EST ENTRY
  3270. ADK EQAE
  3271. CWM **,ON
  3272. IEQA EQU *-1
  3273. LDI CA
  3274. SHN 21-13
  3275. MJN IEQX IF MS DEVICE
  3276. LDM 3,CA
  3277. STD CN+3
  3278. SFA EST,T5 PRESERVE DEVICE MNEMONIC
  3279. ADK EQDE
  3280. CWD CN
  3281. UJP IEQX RETURN
  3282. ISF SPACE 4,10
  3283. ** ISF - ISSUE *SEQM* FUNCTION.
  3284. *
  3285. * ENTRY (A) = *SEQM* SUBFUNCTION.
  3286. * (T1) = CHANNEL DESCRIPTOR ADDRESS.
  3287. * (EO) = EST ORDINAL.
  3288. *
  3289. * EXIT (A) = 0.
  3290. * (CM+1) = *SEQM* STATUS.
  3291. *
  3292. * USES CM - CM+4.
  3293. *
  3294. * MACROS MONITOR.
  3295.  
  3296.  
  3297. ISF SUBR ENTRY/EXIT
  3298. STD CM+2
  3299. LDD EO SET EST ORDINAL
  3300. STD CM+1
  3301. LDI T1 SET CHANNEL NUMBER
  3302. LPN 77
  3303. STD CM+3
  3304. LDN 0 CLEAR MUX CHANNEL INDICATOR
  3305. STD CM+4
  3306. MONITOR SEQM MODIFY PATH DESCRIPTOR
  3307. * LDN 0
  3308. UJN ISFX RETURN
  3309. PCH SPACE 4,10
  3310. ** PCH - PROCESS CHANNEL TABLES.
  3311. *
  3312. * ENTRY SYSTEM FILE POSITIONED TO CHANNEL TABLES.
  3313. *
  3314. * EXIT CHANNEL EJT ASSIGNMENT TABLE RESTORED.
  3315. *
  3316. * USES T1, CM - CM+4.
  3317. *
  3318. * CALLS RNS.
  3319. *
  3320. * MACROS ENDMS.
  3321.  
  3322.  
  3323. PCH SUBR ENTRY/EXIT
  3324. LDC BFMS READ CHANNEL TABLES
  3325. RJM RNS
  3326. ENDMS
  3327. LDN CTALL SET TABLE LENGTH
  3328. STD T1
  3329. LDC CHTP GET CHANNEL TABLE POINTER
  3330. CRD CM
  3331. LDD CM+2
  3332. SHN 14
  3333. ADD CM+3
  3334. ADK CTALL
  3335. CWM BFMS+2+CTALL*5,T1 RESTORE CHANNEL ASSIGNMENT TABLE
  3336. UJN PCHX RETURN
  3337. PET SPACE 4,10
  3338. ** PET - PROCESS EST.
  3339. *
  3340. * ENTRY SYSTEM FILE POSITIONED TO EST SECTOR.
  3341. *
  3342. * EXIT FOR ALL EQUIPMENTS WITH DOWN STATUS SET,
  3343. * THE DOWN, OFF, AND UNAVAILABLE BITS WILL BE
  3344. * SET IN THE EST, AND THE GLOBAL
  3345. * UNLOAD, UNLOAD REQUESTED, AND UNLOAD PROCESSED
  3346. * BITS WILL BE SET IN THE MST.
  3347. * FOR EQUIPMENTS WITH A CHANNEL DOWN ON THE CHECKPOINT
  3348. * FILE, BUT NOT IN THE CM EST (CHANNEL IS NOT GLOABALLY
  3349. * DOWN), THE CHANNEL DOWN STATUS IS RESET WITH A *SEQM*
  3350. * FUNCTION.
  3351. *
  3352. * USES CA, EO, LM, T3, T5, CN - CN+4.
  3353. *
  3354. * CALLS CDS, DDC, IEQ, RNS, SES.
  3355. *
  3356. * MACROS ENDMS, SETMS, SFA.
  3357.  
  3358.  
  3359. PET2 AOD EO ADVANCE EST ORDINAL
  3360. STD T5
  3361. ERRNZ ESTE/2*2-ESTE CODE ASSUMES INTEGRAL EST-S PER PRU
  3362. LDN 5*ESTE ADVANCE BUFFER ADDRESS
  3363. RAD CA
  3364. SFA EST,EO GET EST ENTRY FROM CMR
  3365. ADK EQDE
  3366. CRD CN
  3367. RJM IEQ IDENTIFY EQUIPMENT
  3368. RJM SES
  3369. RJM DDC
  3370. RJM CDS CHECK DEVICE STATUS
  3371. PET4 LCN ESTE DECREMENT WORD COUNT
  3372. RAD LM
  3373. PJN PET2 IF NOT END OF SECTOR
  3374. LDD CE RESET CHECKPOINT DEVICE EST ORDINAL
  3375. STD T5
  3376. LDD T3 CHECK EST SECTOR
  3377. SHN -6
  3378. NJN PET1 IF NOT EOR
  3379.  
  3380. PET SUBR ENTRY/EXIT
  3381. LCN 0
  3382. STD EO
  3383. PET1 LDC BFMS+2-5*ESTE INITIALIZE BUFFER POINTER
  3384. STD CA
  3385. ADN 5*ESTE-2 READ NEXT SECTOR OF EST
  3386. RJM RNS
  3387. STD LM
  3388. ENDMS
  3389. LDD LM SET SECTOR WORD COUNT
  3390. STD T3
  3391. NJN PET4 IF NOT EMPTY SECTOR
  3392. UJN PETX RETURN
  3393. RSE SPACE 4,10
  3394. ** RSE - RELEASE SYSTEM ASSIGNED EQUIPMENT.
  3395. *
  3396. * USES T5, T6, T7, CM - CM+4, FS - FS+4.
  3397. *
  3398. * MACROS SFA.
  3399.  
  3400.  
  3401. RSE2 LDD CP
  3402. ADN EACW UPDATE EQUIPMENT ASSIGNED COUNT WORD
  3403. CWD FS
  3404.  
  3405. RSE SUBR ENTRY/EXIT
  3406. LDD CP
  3407. ADN EACW GET EQUIPMENT ASSIGNED COUNT WORD
  3408. CRD FS
  3409. LDN ESTP
  3410. CRD T7-2 FETCH EST POINTERS
  3411. RSE1 SOD T7
  3412. MJN RSE2 IF EST SCAN COMPLETE
  3413. SFA EST
  3414. ADK EQAE READ EST ASSIGNMENT WORD
  3415. CRD CM
  3416. LDD CM+4 CHECK ASSIGNMENT
  3417. LMC 7777
  3418. NJN RSE1 IF NOT SYSTEM
  3419. STD CM+4
  3420. STD FS CLEAR EQUIPMENT ASSIGNED COUNT
  3421. SFA EST,T7
  3422. ADK EQAE CLEAR SYSTEM ASSIGNMENT
  3423. CWD CM
  3424. UJN RSE1 CONTINUE EST SCAN
  3425. SES SPACE 4,10
  3426. ** SES - SET EQUIPMENT STATE.
  3427. *
  3428. * ENTRY (EO) = EST ORDINAL.
  3429. * (CA) = BUFFER ADDRESS OF EST ENTRY.
  3430. * (CN - CN+4) = EST ENTRY FROM CMR.
  3431. *
  3432. * USES CM - CM+4.
  3433. *
  3434. * MACROS MONITOR.
  3435.  
  3436.  
  3437. SES SUBR ENTRY/EXIT
  3438. LDI CA
  3439. LMD CN COMPARE EQUIPMENT STATE
  3440. LPN 3
  3441. ZJN SESX IF NO CHANGE
  3442. LDI CA
  3443. LPN 3 EXTRACT PREVIOUS STATE
  3444. STD CM+2
  3445. ERRNZ ONES CODE DEPENDS ON VALUE
  3446. ERRNZ IDES-1 CODE DEPENDS ON VALUE
  3447. ERRNZ OFES-2 CODE DEPENDS ON VALUE
  3448. ERRNZ DWES-3 CODE DEPENDS ON VALUE
  3449. LDD EO
  3450. STD CM+1 RESTORE EQUIPMENT STATE
  3451. MONITOR SEQM
  3452. UJN SESX RETURN
  3453. SPACE 4,10
  3454. ** COMMON DECKS.
  3455.  
  3456. QUAL$ EQU 1 DO NOT QUALIFY COMMON DECKS
  3457. *CALL COMPTGB
  3458. *CALL COMPTLB
  3459. SPACE 4,10
  3460. ERRPL *-BFMS OVERFLOW INTO BUFFER
  3461. SPACE 4,10
  3462. QUAL
  3463. TTL REC/4RD - CONTROL POINT RECOVERY ROUTINES.
  3464. TITLE
  3465. QUAL CPR
  3466. IDENT 4RD,CPRX
  3467. *COMMENT REC - CONTROL POINT RECOVERY ROUTINES.
  3468. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  3469. CPR SPACE 4,10
  3470. *** CPR - CONTROL POINT RECOVERY ROUTINES.
  3471. CPR SPACE 4,10
  3472. ORG OVLA
  3473.  
  3474.  
  3475. CPR SUBR ENTRY/EXIT
  3476. UJN CPRX RETURN AFTER LOAD
  3477. SPACE 4,10
  3478. ** COMMON DECKS.
  3479.  
  3480.  
  3481. LIST X
  3482. *CALL COMPVEI
  3483. LIST *
  3484. TITLE SUBROUTINES.
  3485. UQE SPACE 4,15
  3486. ** UQE - UPDATE QFT ENTRY.
  3487. *
  3488. * ENTRY (EO) = EJT ORDINAL IF PROCESSING CONTROL POINTS.
  3489. * = 0 IF PROCESSING QFT.
  3490. * (FS - FS+4) = FST INFORMATION.
  3491. *
  3492. * USES T5, T6.
  3493. *
  3494. * CALLS RSS.
  3495. *
  3496. * MACROS ENDMS, SETMS, SFA.
  3497.  
  3498.  
  3499. UQE SUBR ENTRY/EXIT
  3500. LDD FS SET EQUIPMENT
  3501. STD T5
  3502. LDD FS+1 SET FIRST TRACK
  3503. STD T6
  3504. SETMS IO
  3505. LDN 0 READ SYSTEM SECTOR
  3506. RJM RSS
  3507. NJN UQEX IF SYSTEM SECTOR ERROR
  3508. ENDMS
  3509. LDD EO
  3510. ZJN UQE1 IF PROCESSING QFT
  3511. STM IOSS+5*ENTQ+4
  3512. LDN 2
  3513. UQE1 STD T5
  3514. LDM IOSS+5*JSNQ+4 SET/CLEAR EJT ASSIGNMENT
  3515. SCN 7
  3516. LMD T5
  3517. STM IOSS+5*JSNQ+4
  3518. LDN QFTE LENGTH OF QFT ENTRY
  3519. STD T6
  3520. SFA QFT,GQSS STORE QFT ENTRY
  3521. CWM IOSS,T6
  3522. LJM UQEX RETURN
  3523. VEI SPACE 4,15
  3524. ** VEI - VALIDATE EOI FOR MASS STORAGE FILE.
  3525. *
  3526. * ENTRY (FA) = FNT INDEX.
  3527. * (QT) = FILE TYPE.
  3528. * (FS - FS+4) = FST INFORMATION.
  3529. *
  3530. * USES QI, T6.
  3531. *
  3532. * CALLS CLF, C2D, IRA, RDC, RSS, WEI, WSS.
  3533. *
  3534. * MACROS ENDMS, SETMS, SFA.
  3535.  
  3536.  
  3537. VEI5 LDD QI RESTORE FNT ORDINAL
  3538. STD FA
  3539. VEI6 ENDMS RELEASE CHANNEL
  3540.  
  3541. VEI SUBR ENTRY/EXIT
  3542. LDD FS
  3543. ZJN VEIX IF NULL EQUIPMENT
  3544. STD T5
  3545. SFA EST READ EST ENTRY
  3546. ADK EQDE
  3547. CRD CM
  3548. LDD CM
  3549. SHN 0-13
  3550. ZJN VEIX IF NOT MASS STORAGE
  3551. LDD FS+1
  3552. ZJN VEIX IF FILE NOT USED
  3553. STD T6 SET FIRST TRACK
  3554. SHN -6 PUT STARTING TRACK IN MESSAGE
  3555. RJM C2D
  3556. STM VEIC
  3557. LDD T6
  3558. RJM C2D
  3559. STM VEIC+1
  3560. LDD T5 PUT EST ORDINAL IN MESSAGE
  3561. SHN -3
  3562. RJM C2D
  3563. STM VEIB
  3564. LDD T5
  3565. LPN 7
  3566. SHN 6
  3567. ADC 2R0,
  3568. STM VEIB+1
  3569. LDC DSCP*CPAS+MS1W DISPLAY MESSAGE
  3570. CWM VEIA,TR
  3571. SBN 1 SAVE ADDRESS FOR *RDC* MESSAGE
  3572. STM RDCA
  3573. RJM IRA INITIALIZE RANDOM ACCESS PROCESSORS
  3574. SETMS IO,RW
  3575. LCN 1 READ DISK CHAIN
  3576. RJM RDC
  3577. NJN VEI2 IF LENGTH/LINKAGE/DISK ERROR
  3578. VEI1 LJM VEI6 RETURN
  3579.  
  3580. VEI2 RJM CLF CHANGE LENGTH OF FILE IN TRT
  3581. LDD FS+4
  3582. NJN VEI3 IF NO REWRITE OF EOI REQUIRED
  3583. RJM WEI WRITE EOI
  3584. VEI3 LDD QT CHECK FILE TYPE
  3585. LMN PMFT
  3586. NJN VEI1 IF NOT DIRECT ACCESS PERMANENT FILE
  3587. LDD FS+1 SET FIRST TRACK
  3588. STD T6
  3589. LDD FA SAVE FNT ORDINAL
  3590. STD QI
  3591. SETMS POSITION
  3592. * LDN 0 SELECT NO FILE NAME VERIFICATION
  3593. STD FA
  3594. RJM RSS READ SYSTEM SECTOR
  3595. NJN VEI4 IF SYSTEM SECTOR ERROR
  3596. LDM /COMSPFM/CTSS+/COMSPFM/FCEC SET ERROR FLAG IN SS
  3597. LPC 7077
  3598. LMC 400
  3599. STM /COMSPFM/CTSS+/COMSPFM/FCEC
  3600. RJM WSS REWRITE SYSTEM SECTOR
  3601. VEI4 LJM VEI5 RESTORE FNT ORDINAL
  3602.  
  3603.  
  3604. VEIA DATA H* VERIFY EQ*
  3605. VEIB DATA H*000, A*
  3606. VEIC DATA C*0000.*
  3607. SPACE 4,10
  3608. OVLC EQU *+5 ORIGIN FOR *4RF*
  3609. ABT SPACE 4,10
  3610. ** ABT - ABORT CM RECOVERY.
  3611. *
  3612. * ENTRY (PN) = CP/PCP NUMBER.
  3613. *
  3614. * EXIT TO *ERR*.
  3615. *
  3616. * USES PN.
  3617. *
  3618. * CALLS C2D.
  3619.  
  3620.  
  3621. ABT LDD PN CHECK CP NUMBER
  3622. SBD NC
  3623. MJN ABT1 IF REAL CP
  3624. ZJN ABT1 IF SYSTEM CP
  3625. SBN 1
  3626. STD PN SAVE PCP OFFSET
  3627. SOM ABTA
  3628. ABT1 LDD PN CONVERT CP/PCP NUMBER
  3629. RJM C2D
  3630. STM ABTB+1 SET NUMBER IN MESSAGE
  3631. LDC ABTB
  3632. ABTA EQU *-1
  3633. LJM ERR DISPLAY ERROR AND HANG
  3634.  
  3635.  
  3636. DATA 2H P
  3637. ABTB DATA C*CP00 CPA/MOVING.*
  3638. CRS SPACE 4,20
  3639. ** CRS - CHECK ROLLIN/ROLLOUT STATUS.
  3640. *
  3641. * ENTRY (PN) = CP/PCP NUMBER.
  3642. *
  3643. * EXIT CONTROL POINT RELEASED IF JOB ROLLING IN.
  3644. * TO *ABT* IF PSEUDO-ROLLIN OR PSEUDO-ROLLOUT IN
  3645. * PROGRESS.
  3646. * *REC* ASSIGNED TO CP IF CP BEING RECOVERED.
  3647. * (A) = (EO) = EJT ORDINAL IF CP/PCP ASSIGNED.
  3648. * (A) = (EO) = 0 IF CP/PCP NOT ASSIGNED.
  3649. * (CP) = REAL CPA ADDRESS.
  3650. * (CN - CN+4) = *FLSW* WORD FROM CP/PCP AREA.
  3651. * (FN - FN+4) = *STSW* WORD WITH -
  3652. * ERROR FLAG SET AS REQUIRED.
  3653. * ROLLOUT FLAGS CLEARED.
  3654. *
  3655. * USES EO, QA, T6, T7, CA - CA+4, CN - CN+4, FN - FN+4,
  3656. * FS - FS+4.
  3657. *
  3658. * CALLS CSR, DEF, REJ, RJQ, RPJ, RSJ, SCA.
  3659. *
  3660. * MACROS MONITOR, SFA.
  3661.  
  3662.  
  3663. CRS SUBR ENTRY/EXIT
  3664.  
  3665. * GET CP/PCP PARAMETERS.
  3666.  
  3667. LDD PN SET CP/PCP ADDRESS
  3668. RJM SCA
  3669. ADN TFSW FETCH EJT ORDINAL
  3670. CRD EO
  3671. ERRNZ EO+1-CA CODE DEPENDS ON VALUE
  3672. SBN TFSW-STSW READ CONTROL POINT STATUS WORD
  3673. CRD FN
  3674. ADN FLSW-STSW READ FL PARAMETERS
  3675. CRD CN
  3676. LDD EO
  3677. ZJN CRSX IF CONTROL POINT UNASSIGNED
  3678.  
  3679. * GET EJT PARAMETERS AND CLEAR ROLLOUT FLAGS IF NOT PCP.
  3680.  
  3681. STD QA
  3682. SFA EJT READ EJT PARAMETERS
  3683. ADK JSNE
  3684. CRD FS
  3685. ADN SCHE-JSNE
  3686. CRD CA
  3687. LDD NC
  3688. SBD PN
  3689. MJN CRS1 IF PCP
  3690. LDN 0 CLEAR ROLLOUT FLAGS
  3691. STD FN+2
  3692. LDD PN SET CP/PCP ADDRESS
  3693. RJM SCA UPDATE *STSW*
  3694. ADN STSW
  3695. CWD FN
  3696. LDD FS+4 CLEAR JOB ADVANCE TO ALLOW *CCAM*
  3697. LPC 7677
  3698. STD FS+4
  3699. SFA EJT,EO
  3700. ADK JSNE
  3701. CWD FS
  3702. LDD PN
  3703. STD CM+1
  3704. MONITOR CCAM CHANGE ASSIGNMENT TO CP BEING RECOVERED
  3705.  
  3706. * CALL JOB STATUS PROCESSOR.
  3707.  
  3708. CRS1 LDD FS+4 EXTRACT JOB STATUS
  3709. SHN -1
  3710. LPN 37
  3711. STD T6
  3712. SBN MXJS
  3713. MJN CRS2 IF VALID STATUS
  3714. RJM DEF DETERMINE ERROR FLAG
  3715. UJN CRS3 UPDATE CP/PCP STATUS
  3716.  
  3717. CRS2 LDM TJRP,T6
  3718. ZJN CRS3 IF PROCESSOR UNDEFINED
  3719. STD T7
  3720.  
  3721. * EXIT TO PROCESSOR WITH -
  3722. * (PN) = CP/PCP NUMBER.
  3723. * (CP) = CPA ADDRESS IF REAL CP.
  3724. * (EO) = (QA) = EJT ORDINAL.
  3725. * (FS - FS+4) = *JSNE* WORD OF EJT ENTRY.
  3726. * (CA - CA+4) = *SCHE* WORD OF EJT ENTRY.
  3727. * (FN - FN+4) = CONTROL POINT AREA *STSW* WORD.
  3728.  
  3729. RJM 0,T7 RECOVER JOB
  3730.  
  3731. * RETURN WITH CONTROL POINT ASSIGNED STATUS.
  3732.  
  3733. CRS3 LDD EO
  3734. LJM CRSX RETURN
  3735. TJRP SPACE 4,10
  3736. ** TJRP - TABLE OF JOB RECOVERY PROCESSORS.
  3737.  
  3738.  
  3739. TJRP INDEX
  3740. INDEX PRJS,RPJ
  3741. INDEX EXJS,REJ
  3742. INDEX ROJS,RJQ
  3743. INDEX SIJS,CSR
  3744. INDEX SOJS,RJQ
  3745. INDEX TOJS,RJQ
  3746. INDEX IOJS,RJQ
  3747. INDEX DOJS,RJQ
  3748. INDEX SUJS,RJQ
  3749. INDEX PCJS,RSJ
  3750. INDEX ERJS,RJQ
  3751. INDEX PWJS,RPJ
  3752. INDEX SWJS,RJQ
  3753. INDEX MXJS
  3754. DEF SPACE 4,20
  3755. ** DEF - DETERMINE ERROR FLAG.
  3756. *
  3757. * ENTRY (EO) = EJT ORDINAL.
  3758. * (PN) = CONTROL POINT NUMBER.
  3759. * (CA - CA+4) = *SCHE* WORD OF EJT ENTRY.
  3760. * (CN - CN+4) = *FLSW* WORD.
  3761. * (FN - FN+4) = *STSW* WORD.
  3762. * (FS - FS+4) = *JSNE* WORD OF EJT ENTRY.
  3763. *
  3764. * EXIT (FN+1) = ERROR FLAG.
  3765. * ERROR FLAG SET IN CONTROL POINT AREA.
  3766. * *JCRW* CLEARED IF RECOVERED SUBSYSTEM.
  3767. *
  3768. * USES FN+1, FS+4, CM - CM+4.
  3769. *
  3770. * MACROS DELAY, MONITOR, SFA.
  3771.  
  3772.  
  3773. DEF3 LDD CA+2 CHECK *NORERUN* STATUS
  3774. SHN 0-13
  3775. ZJN DEF4 IF JOB IN RERUN STATE
  3776. LDN RAET&DRET
  3777. DEF4 LMN DRET SET ERROR FLAG
  3778. DEF5 STD FN+1
  3779. STD CM+1
  3780. MONITOR CEFM
  3781.  
  3782. DEF SUBR ENTRY/EXIT
  3783. LDD CA+2
  3784. LPC 3000
  3785. NJN DEFX IF JOB TERMINATION IN PROGRESS
  3786. LDD FN+1
  3787. LMN PEET
  3788. ZJN DEF2 IF *PEET* ERROR FLAG SET
  3789. LDD CN+4
  3790. ZJN DEF3 IF NOT RECOVERED SUBSYSTEM
  3791. LDN ZERL CLEAR *JCRW*
  3792. CRD CM
  3793. LDD CP
  3794. ADK JCRW
  3795. CWD CM
  3796. LDN RSET SET RECOVERED SUBSYSTEM ERROR
  3797. UJN DEF5 RETURN
  3798.  
  3799. DEF1 DELAY
  3800. DEF2 LDD PN
  3801. STD CM+1
  3802. MONITOR VFLM CALL CPUMTR TO VALIDATE FL
  3803. SOD CM+1
  3804. ZJN DEFX IF FL VERIFICATION FAILED
  3805. PJN DEF1 IF FUNCTION WAS IN USE
  3806. LDD FS+4 CLEAR JOB ADVANCE FLAG
  3807. LPC -100
  3808. STD FS+4
  3809. SFA EJT,EO
  3810. ADK JSNE
  3811. CWD FS
  3812. LDD CP SET CPU PRIORITY = *LJCS*
  3813. ADK CWQW
  3814. CRD CM
  3815. LDK LJCS
  3816. SHN 3
  3817. ADC 2000
  3818. STD CM
  3819. LDD CP
  3820. ADK CWQW
  3821. CWD CM
  3822. UJP DEF3 SET ERROR FLAG
  3823. TITLE JOB RECOVERY PROCESSORS.
  3824. CSR SPACE 4,10
  3825. ** CSR - CHANGE STATUS TO ROLLOUT.
  3826. *
  3827. * USES FS+4.
  3828. *
  3829. * CALLS RJQ, SET.
  3830.  
  3831.  
  3832. CSR SUBR ENTRY/EXIT
  3833. LDD FS+4
  3834. SCN 76
  3835. LMN ROJS*2 CHANGE JOB STATUS
  3836. STD FS+4
  3837. RJM SET SET ENTRY TIME IN *SCHE*
  3838. SFA EJT,EO UPDATE EJT ENTRY
  3839. ADK JSNE
  3840. CWD FS
  3841. ADN SCHE-JSNE
  3842. CWD CA
  3843. RJM RJQ RETURN JOB TO QUEUE
  3844. UJN CSRX RETURN
  3845. REJ SPACE 4,10
  3846. ** REJ - RECOVER EXECUTING JOB.
  3847. *
  3848. * USES CA+2.
  3849. *
  3850. * CALLS DEF.
  3851. *
  3852. * MACROS SFA.
  3853. *
  3854. * EXIT TO *ABT* IF PSEUDO-ROLLOUT IN PROGRESS.
  3855.  
  3856.  
  3857. REJ SUBR ENTRY/EXIT
  3858. LDD NC
  3859. SBD PN
  3860. MJN REJ1 IF PROCESSING PCP-S
  3861. LDD CA+2 CLEAR *DMP=* ROLLOUT FLAG
  3862. LPC 7377
  3863. STD CA+2
  3864. SFA EJT,EO UPDATE EJT ENTRY
  3865. ADK SCHE
  3866. CWD CA
  3867. RJM DEF DETERMINE ERROR FLAG
  3868. UJN REJX RETURN
  3869.  
  3870. * IF PROCESSING A PSEUDO-CONTROL POINT AND THE JOB STATE IS
  3871. * *EXJS*, A PSEUDO-ROLLOUT IS IN PROGRESS.
  3872.  
  3873. REJ1 LJM ABT ABORT RECOVERY
  3874. RJQ SPACE 4,10
  3875. ** RJQ - RETURN JOB TO QUEUE.
  3876. *
  3877. * EXIT CONTROL POINT RELEASED.
  3878. * (EO) = 0.
  3879. * *REC* ASSIGNED TO SYSTEM CP.
  3880. *
  3881. * USES EO, FS+4, CM+1.
  3882. *
  3883. * MACROS MONITOR, SFA.
  3884.  
  3885.  
  3886. RJQ SUBR ENTRY/EXIT
  3887. LDC 100 SET JOB ADVANCE FOR *JACM* FUNCTION
  3888. RAD FS+4
  3889. SFA EJT,EO
  3890. CWD FS
  3891. LDN CCPS SET RELEASE CONTROL POINT
  3892. STD CM+1
  3893. MONITOR JACM RELEASE CONTROL POINT
  3894. * LDN 0
  3895. STD EO CLEAR EJT ORDINAL TO FLAG CP RELEASED
  3896. LDD NC
  3897. STD CM+1
  3898. MONITOR CCAM RETURN TO SYSTEM CP
  3899. UJN RJQX RETURN
  3900. RPJ SPACE 4,10
  3901. ** RPJ - RECOVER PRE-INITIAL JOB.
  3902. *
  3903. * USES CM - CM+4.
  3904. *
  3905. * CALLS AST, RJQ.
  3906.  
  3907.  
  3908. RPJ1 RJM RJQ RETURN JOB TO QUEUE
  3909.  
  3910. RPJ SUBR ENTRY/EXIT
  3911. LDD CP
  3912. ADN JCIW
  3913. CRD CM
  3914. LDC LSSI CHECK SUBSYSTEM ID
  3915. SBD CM+2
  3916. PJN RPJ1 IF NOT SUBSYSTEM
  3917. LDD CM+2
  3918. LMC CEAF*10000 CLEAR JOB ACTIVE IN *SSAT*
  3919. RJM AST
  3920. UJN RPJ1 RETURN JOB TO QUEUE
  3921. RSJ SPACE 4,10
  3922. ** RSJ - RECOVER JOB AT PSEUDO-CP.
  3923. *
  3924. * EXIT TO *ABT* IF PSEUDO-ROLLIN IN PROGRESS.
  3925.  
  3926.  
  3927. RSJ SUBR ENTRY/EXIT
  3928. LDD NC
  3929. SBD PN
  3930. MJN RSJX IF PROCESSING PCP-S
  3931.  
  3932. * IF PROCESSING A CONTROL POINT AND THE JOB STATE IS *PCJS*, A
  3933. * PSEUDO-ROLLIN IS IN PROGRESS.
  3934.  
  3935. LJM ABT ABORT RECOVERY
  3936. TITLE SUBROUTINES.
  3937. PLF SPACE 4,15
  3938. ** PLF - PROCESS LOCAL FNT.
  3939. *
  3940. * ENTRY (CP) = CONTROL POINT ADDRESS.
  3941. * (CN - CN+4) = *FLSW* WORD.
  3942. * (FN - FN+4) = *STSW* WORD.
  3943. *
  3944. * EXIT (RA) = CONTROL POINT REFERENCE ADDRESS / 100.
  3945. *
  3946. * USES FA, QS, QT, CM - CM+4, FS - FS+4.
  3947. *
  3948. * CALLS UQE, VEI.
  3949. *
  3950. * MACROS MONITOR, NFA.
  3951.  
  3952.  
  3953. PLF SUBR ENTRY/EXIT
  3954. LDD CN SET END OF NFL
  3955. SHN 6
  3956. ADN 1
  3957. STD QS
  3958. LDC FNTN-LENF
  3959. STD FA
  3960. PLF1 LDN LENF ADVANCE FNT ADDRESS
  3961. RAD FA
  3962. SBD QS
  3963. PJN PLFX IF END OF NFL
  3964. NFA FA,R READ FNT ENTRY
  3965. CRD CM
  3966. ADN FSTL
  3967. CRD FS
  3968. LDD CM
  3969. ZJN PLF1 IF EMPTY FNT SLOT
  3970. LDD CM+4 SET FILE TYPE
  3971. SHN -6
  3972. STD QT
  3973. LMN QFFT
  3974. NJN PLF2 IF NOT QUEUE FILE
  3975. RJM UQE UPDATE QFT ENTRY
  3976. PLF2 LMN ROFT&QFFT
  3977. ZJN PLF5 IF ROLLOUT FILE
  3978. LDD FS+4
  3979. LPN 1
  3980. NJN PLF1 IF FILE NOT BUSY
  3981. PLF3 AOD FS+4
  3982. NFA FA,R UPDATE FST
  3983. ADN FSTL
  3984. CWD FS
  3985. LDD FS+4 CHECK LAST OPERATION
  3986. LPN 2
  3987. ZJN PLF4 IF NOT WRITE
  3988. RJM VEI VALIDATE EOI FOR FILE
  3989. PLF4 LJM PLF1 LOOP FOR NEXT FILE
  3990.  
  3991. PLF5 LDN LOFT-ROFT SET FILE TYPE TO *LOFT*
  3992. SHN 6
  3993. RAD CM+4
  3994. NFA FA,R UPDATE FNT
  3995. CWD CM
  3996. LDD FS+1 SET FIRST TRACK
  3997. ZJN PLF4 IF TRACKS NOT ASSIGNED
  3998. STD CM+2
  3999. LDD FS SET EQUIPMENT
  4000. LMD TH SET RETURN ON INACCESSIBLE DEVICE
  4001. STD CM+1
  4002. MONITOR DTKM RELEASE MASS STORAGE SPACE
  4003. LDN ZERL
  4004. CRD FS
  4005. LDN NEEQ ASSIGN TO NULL EQUIPMENT
  4006. STD FS
  4007. UJP PLF3 UPDATE FST
  4008. SPACE 4,10
  4009. ** COMMON DECKS.
  4010.  
  4011.  
  4012. QUAL AST
  4013. QUAL$ EQU 0 DONT REQUALIFY COMMON DECK
  4014. AST$ EQU 0 ASSEMBLE *SSAT* MODIFICATION ROUTINES
  4015. *CALL COMPAST
  4016. QUAL SET
  4017. QUAL$ EQU 0 DONT REQUALIFY COMMON DECK
  4018. *CALL COMPRJC
  4019.  
  4020.  
  4021. CET$ EQU 0 ASSEMBLE ENTRY TIME CALCULATION ROUTINES
  4022. T1 EQU CA+3
  4023. T2 EQU CA+4
  4024. *CALL COMPCPE
  4025. SET SPACE 4,15
  4026. ** SET - SET ENTRY TIME.
  4027. *
  4028. * ENTRY (EO) = EJT ORDINAL.
  4029. * (CA - CA+4) = *SCHE* WORD OF EJT ENTRY.
  4030. *
  4031. * EXIT ENTRY TIME SET IN (CA+2 - CA+4) FOR UPPER BOUND
  4032. * PRIORITY OF SERVICE CLASS.
  4033. *
  4034. * USES T1, CA+2 - CA+4, CM - CM+4.
  4035. *
  4036. * CALLS CET.
  4037. *
  4038. * MACROS SFA.
  4039.  
  4040.  
  4041. SET SUBR ENTRY/EXIT
  4042. SFA EJT,EO FETCH SERVICE CLASS FROM EJT ENTRY
  4043. ADN SCLE
  4044. CRD CM
  4045. LCN 0 SET MAXIMUM PRIORITY
  4046. STD T1
  4047. LDD CM CALCULATE ENTRY TIME
  4048. SCN 77
  4049. SHN 6
  4050. LMN EXQT
  4051. RJM CET
  4052. LDD CA+2 SET ENTRY TIME IN *SCHE*
  4053. SCN 77
  4054. STD CA+2
  4055. LDD T1
  4056. STD CA+3
  4057. LDD T2
  4058. STD CA+4
  4059. UJN SETX RETURN
  4060.  
  4061.  
  4062. QUAL CPR
  4063. AST EQU /AST/AST
  4064. CEAF EQU /AST/CEAF
  4065. SET EQU /SET/SET
  4066. SPACE 4,10
  4067. ERRPL *-BFMS OVERFLOW INTO BUFFER
  4068. SPACE 4,10
  4069. QUAL
  4070. ABT EQU /CPR/ABT
  4071. CRS EQU /CPR/CRS
  4072. OVLC EQU /CPR/OVLC
  4073. PLF EQU /CPR/PLF
  4074. UQE EQU /CPR/UQE
  4075. VEI EQU /CPR/VEI
  4076. TTL REC/4RE - ISSUE DEADSTART MESSAGES.
  4077. TITLE
  4078. QUAL IDM
  4079. IDENT 4RE,IDMX
  4080. *COMMENT REC - ISSUE DEADSTART MESSAGES.
  4081. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  4082. IDF SPACE 4,10
  4083. *** 4RE - ISSUE DEADSTART MESSAGES.
  4084. *
  4085. * *4RE* ISSUES THE DEADSTART MESSAGES PERTAINING TO RECOVERY,
  4086. * AS SET UP BY *4RA*.
  4087. IDF SPACE 4,20
  4088. *** DAYFILE MESSAGES.
  4089. *
  4090. * * YY/MM/DD. DEAD START LEVEL X.* = DATE AND LEVEL NUMBER OF
  4091. * DEADSTART.
  4092. * *X...X* = SYSTEM TITLE.
  4093. *
  4094. * *X...X* = SYSTEM VERSION.
  4095. *
  4096. *
  4097. * *EQXXX, DAYFILE TRACK LIMIT.* = DEADSTART IS ABANDONED.
  4098. *
  4099. * *EQXXX, LOCAL AREA SECTOR ERROR.* = READ ERROR OCCURRED.
  4100. *
  4101. * *FILENAM RECOVERED, EQXXX.* = SPECIFIED DAYFILE WAS
  4102. * RECOVERED ON EST ORDINAL XXX.
  4103. *
  4104. * *FILENAM CREATION DATE YY/MM/DD. * = CREATION DATE OF
  4105. * SPECIFIED DAYFILE.
  4106. *
  4107. * *FILENAME UPDATED YY/MM/DD. HH.MM.SS. * = DATE
  4108. * AND TIME LAST EOI WAS WRITTEN.
  4109. IDM SPACE 4,10
  4110. *** ACCOUNT FILE MESSAGES.
  4111. *
  4112. * *ABSY, YY/MM/DD.* = ACCOUNT FILE WAS INITIALIZED.
  4113. *
  4114. * *ARSY, X, YY/MM/DD.* = DAYFILES WERE RECOVERED ON A LEVEL X
  4115. * DEADSTART ON THE SPECIFIED DATE.
  4116. *
  4117. * *ABST, X...X.* = SYSTEM TITLE.
  4118. *
  4119. * *ABSV, X...X.* = SYSTEM VERSION.
  4120. IDM SPACE 4,10
  4121. *** ERROR LOG MESSAGES.
  4122. *
  4123. * *X...X* = SYSTEM TITLE.
  4124. *
  4125. * *X...X* = SYSTEM VERSION.
  4126. *
  4127. * *MICROCODE, XX.* = LEVEL OF LOADED MICROCODE.
  4128. *
  4129. * *EI, XX* = LEVEL OF ERROR INTERFACE.
  4130. *
  4131. * * BUFFERED I/O RECOVERY ERRORS.
  4132. * * WRITE LIST LINKAGE ERROR.
  4133. * * READ DATA ON WRITE LIST.
  4134. * * INTERLOCKED BUFFER ON WRITE LIST.
  4135. * * WRITE LIST BUFFER COUNT.
  4136. * * NON-LINKED WRITE BUFFER.
  4137. *
  4138. * * BUFFERED I/O RECOVERY ERRORS EQXXX.
  4139. * * I/O QUEUE SIZE ERROR.
  4140. * * I/O LINKAGE ERROR.
  4141. * * I/O *PUT* ORDINAL ERROR.
  4142. IDM SPACE 4,10
  4143. ORG OVLB
  4144. IDM SPACE 4,10
  4145. ** IDM - ISSUE DEAD START MESSAGES.
  4146. *
  4147. * ENTRY (FN - FN+4) = DAYFILE EQUIPMENTS.
  4148. *
  4149. * EXIT DEAD START MESSAGE ISSUED TO SYSTEM DAYFILE.
  4150. * DEAD START MESSAGE ISSUED TO ACCOUNT DAYFILE.
  4151. * DEAD START MESSAGE ISSUED TO ERROR LOG DAYFILE.
  4152. * DEAD START MESSAGE ISSUED TO BML.
  4153. * APPROPRIATE MESSAGES CONCERNING DAYFILE RECOVERY.
  4154. * APPROPRIATE MESSAGES CONCERNING MICROCODE AND EI.
  4155. * SYSTEM TITLE AND VERSION ISSUED TO SYSTEM DAYFILE.
  4156. * SYSTEM TITLE AND VERSION ISSUED TO ACCOUNT DAYFILE.
  4157. * SYSTEM TITLE AND VERSION ISSUED TO ERROR LOG DAYFILE.
  4158. * SYSTEM TITLE AND VERSION ISSUED TO BML.
  4159. * BUFFERED I/O RECOVERY ERRORS PROCESSED.
  4160. *
  4161. * CALLS ACS, BRM, C2D, DFM.
  4162. *
  4163. * USES QT, T1, T4, CM - CM+4.
  4164.  
  4165.  
  4166. IDM SUBR ENTRY/EXIT
  4167. LDN DSSL SET RECOVERY LEVEL
  4168. CRD CM
  4169. LDD CM+4 CONVERT RECOVERY MODE
  4170. LPN 3
  4171. STM IDMG+2 SET IN BML MESSAGE
  4172. ADC 2R 0
  4173. STM IDMF1
  4174. SHN 6
  4175. LMN 1R,
  4176. STM RDBG+3
  4177.  
  4178. * ISSUE DEADSTART MESSAGES.
  4179.  
  4180. LDM RDBK
  4181. STM IDMA
  4182. LDN DTEL READ DATE TO MESSAGE
  4183. CRM IDMF,ON
  4184. SBN 1
  4185. CRM **,ON
  4186. IDMA EQU *-1
  4187. * CRM RDBG+3,ON (ACCOUNT FILE INITIALIZED)
  4188. * CRM RDBG+4,ON (ACCOUNT FILE RECOVERED)
  4189. LDC IDMF ISSUE MESSAGE TO DAYFILE
  4190. RJM DFM
  4191. LDC ACFN+RDBG ISSUE MESSAGE TO ACCOUNT DAYFILE
  4192. RJM DFM
  4193. LDC ERLN+IDMF ISSUE MESSAGE TO ERROR LOG
  4194. RJM DFM
  4195. LDM RDBF+MLDY
  4196. NJN IDM0 IF MAINTENANCE LOG CREATED
  4197. LDC DS0104 SET RECOVERY SYMPTOM
  4198. STM IDMG+1
  4199. IDM0 LDN IDMGL SET MESSAGE LENGTH
  4200. STD CM+1
  4201. LDC BMLN+IDMG ISSUE MESSAGE TO MAINTENANCE LOG
  4202. RJM DFM
  4203.  
  4204. * ISSUE SYSTEM TITLE AND VERSION DAYFILE MESSAGES
  4205.  
  4206. LDN 4 READ SYSTEM TITLE
  4207. STD T1
  4208. LDN SYTL
  4209. CRM IDMM2,T1
  4210. LDN 2 READ SYSTEM VERSION
  4211. STD T1
  4212. LDN SVNL
  4213. CRM IDMN2,T1
  4214. LDC IDMM2 ISSUE SYSTEM TITLE TO MASTER DAYFILE
  4215. RJM DFM
  4216. LDC IDMN2 ISSUE SYSTEM VERSION TO MASTER DAYFILE
  4217. RJM DFM
  4218. LDC ACFN+IDMM+2 ISSUE TITLE TO ACCOUNT DAYFILE
  4219. RJM DFM
  4220. LDC ACFN+IDMN+2 ISSUE SYSTEM VERSION TO ACCOUNT FILE
  4221. RJM DFM
  4222. LDC ERLN+IDMM2 ISSUE SYSTEM TITLE TO ERRLOG
  4223. RJM DFM
  4224. LDC ERLN+IDMN2 ISSUE SYSTEM VERSION TO ERRLOG
  4225. RJM DFM
  4226. LDN ZERL CLEAR BML AREA
  4227. CRM IDMM,ON
  4228. CRM IDMN,ON
  4229. LDC DM0400 INSERT BML ID
  4230. STM IDMM
  4231. STM IDMN
  4232. LDC SS0100 INSERT BML SYSTEM TITLE SYMPTOM
  4233. STM IDMM+1
  4234. LDC SS0101 INSERT BML SYSTEM VERSION SYMPTOM
  4235. STM IDMN+1
  4236. LDN IDMM1L SET SYSTEM TITLE MESSAGE LENGTH
  4237. STD CM+1
  4238. LDC BMLN+IDMM ISSUE MESSAGE TO MAINTENANCE LOG
  4239. RJM DFM
  4240. LDN IDMN1L SET SYSTEM VERSION MESSAGE LENGTH
  4241. STD CM+1
  4242. LDC BMLN+IDMN ISSUE MESSAGE TO MAINTENANCE LOG
  4243. RJM DFM
  4244.  
  4245. * COPY MICROCODE AND EI NAMES AND DATES TO MESSAGES.
  4246.  
  4247. LDK EABL+MFEI GET MESSAGE INFORMATION
  4248. CRD CM
  4249. ADK CPEI-MFEI
  4250. CRD CN
  4251. LDD CM+1 GET MF DESCRIPTOR
  4252. SCN 77
  4253. SHN 6
  4254. LMD CM
  4255. SHN 6
  4256. CRD CM
  4257. ADN 1 READ EI DATE/NAME
  4258. CRM IDMH1+2*5,ON
  4259. LDD CM+1
  4260. SHN -6
  4261. LMN 7
  4262. NJP IDM3 IF NOT CYBER 180 MACHINE
  4263. LDD CM+1
  4264. LPN 1
  4265. NJN IDM0.1 IF CPU-0 OFF
  4266. LDD CN+1 GET PROCESSOR DESCRIPTOR
  4267. SCN 77
  4268. SHN 6
  4269. LMD CN
  4270. SHN 6
  4271. UJN IDM1 FETCH MICROCODE IDENTIFICATION
  4272.  
  4273. IDM0.1 LDD CN+1
  4274. LPN 77
  4275. SHN 14
  4276. LMD CN+2
  4277. IDM1 ADN 2
  4278. CRM IDMH1,ON READ MICROCODE NAME/DATE
  4279. CRM IDMH1+5,ON
  4280. LDM IDMH1+2*5+3 MOVE EI NAME
  4281. STM IDMH1+4
  4282. LDM IDMH1+2*5+4 MOVE VERIFICATION FLAG
  4283. SHN 1
  4284. RAM IDMH1+5+4
  4285. LDN 0
  4286. STM IDMH1+2*5+3
  4287. STM IDMH1+2*5+4
  4288. LDN IDMHL SET MESSAGE LENGTH
  4289. STD CM+1
  4290. LDC BMLN+IDMH ISSUE MESSAGE TO MAINTENANCE LOG
  4291. RJM DFM
  4292. LDC IDMJ SET ASSEMBLY BUFFER ADDRESS
  4293. STD T1
  4294. LDC IDMH1 SET MICROCODE NAME
  4295. RJM ACS
  4296. LDC =C*, * INSERT SEPARATOR
  4297. RJM ACS
  4298. LDC IDMH1+1*5+0 SET MICROCODE DATE
  4299. RJM ACS
  4300. LDM IDMH1+1*5+4 DETERMINE IF MICROCODE LOADED
  4301. ZJN IDM2 IF LOADED
  4302. LDC =C*, * SET SEPARATOR
  4303. RJM ACS
  4304. LCN 1
  4305. IDM2 ADC =C*NL. *+1
  4306. RJM ACS
  4307. LDC IDML SET ASSEMBLY BUFFER ADDRESS
  4308. STD T1
  4309. LDM IDMH1+0*5+4 SET EI NAME
  4310. STI T1
  4311. AOD T1
  4312. LDC =C*, * INSERT SEPARATOR
  4313. RJM ACS
  4314. LDC IDMH1+2*5+0 SET EI DATE
  4315. RJM ACS
  4316. LDC =C*. * INSERT TERMINATOR
  4317. RJM ACS
  4318. LDC ERLN+IDMI ISSUE MESSAGE TO ERRLOG
  4319. RJM DFM
  4320. LDC ERLN+IDMK ISSUE MESSAGE TO ERRLOG
  4321. RJM DFM
  4322. IDM3 LCN 0 CLEAR FILE INDEX
  4323. STD QT
  4324.  
  4325. * ISSUE DAYFILE RECOVERY MESSAGES.
  4326.  
  4327. LDD RS
  4328. LPN FLMK
  4329. LMN FLCM
  4330. NJN IDM6 IF DAYFILES NOT RECOVERED FROM CM
  4331. RJM BRM PROCESS BUFFERED I/O RECOVERY MESSAGES
  4332. IDM4 LJM IDMX RETURN
  4333.  
  4334. IDM6 AOD QT ADVANCE TO NEXT FILE
  4335. SHN 2
  4336. ADD QT
  4337. STD T4
  4338. ADC RDBA CALCULATE DATE AND TIME ADDRESSES
  4339. STM IDMB
  4340. ADN RDBB-RDBA
  4341. STM IDMC
  4342. ADN RDBC-RDBB
  4343. STM IDMD
  4344. ADN RDBD-RDBC
  4345. STM IDME
  4346. LMC RDBE
  4347. ZJN IDM4 IF END OF DAYFILES
  4348. LDM RDBA,T4
  4349. ZJN IDM6 IF NO CREATION DATE
  4350. LDM FN,QT CONVERT UPPER DIGIT OF EST ORDINAL
  4351. SHN -6
  4352. LPN 7
  4353. ADC 2RQ0
  4354. STM RDBH+13
  4355. LDM FN,QT CONVERT LOWER TWO DIGITS OF EST ORDINAL
  4356. RJM C2D
  4357. STM RDBH+14
  4358.  
  4359. * COPY DATES AND TIMES TO MESSAGES.
  4360.  
  4361. LDD MA COPY CREATION DATE
  4362. CWM **,ON
  4363. IDMB EQU *-1
  4364. SBN 1
  4365. CRM RDBI1,ON
  4366. SBN 1 COPY UPDATE DATE
  4367. CWM **,ON
  4368. IDMC EQU *-1
  4369. SBN 1
  4370. CRM RDBJ1,ON
  4371. SBN 1 COPY UPDATE TIME
  4372. CWM **,ON
  4373. IDMD EQU *-1
  4374. SBN 1
  4375. CRM RDBJ1+1*5,ON
  4376. SBN 1 COPY FILE NAME
  4377. CWM **,ON
  4378. IDME EQU *-1
  4379. SBN 1
  4380. CRM RDBH,ON
  4381. SBN 1
  4382. CRM RDBI,ON
  4383. SBN 1
  4384. CRM RDBJ,ON
  4385.  
  4386. * ISSUE MESSAGES.
  4387.  
  4388. LDC RDBH *FILENAME RECOVERED, EQXXX.*
  4389. RJM DFM
  4390. LDM RDBB,T4
  4391. ZJN IDM7 IF FILE NOT UPDATED
  4392. LDC RDBI
  4393. RJM DFM ISSUE MESSAGES
  4394. LDC RDBJ
  4395. RJM DFM
  4396. IDM7 LJM IDM6 ADVANCE TO NEXT FILE
  4397.  
  4398. IDMF DATA H* YY/MM/DD. DEAD START LEVEL *
  4399. IDMF1 DATA C* 0.*
  4400.  
  4401. IDMG CON DM0406,DS0101 MAINTENANCE LOG CREATION MESSAGE
  4402. BSSZ IDMG+6-*
  4403. IDMGL EQU *-IDMG LENGTH OF MESSAGE
  4404.  
  4405. IDMH CON DM0407,DS0100 MAINTENANCE LOG MICROCODE/EI MESSAGE
  4406. VFD 36/0
  4407. IDMH1 BSSZ 3*5 MESSAGE
  4408. IDMHL EQU *-IDMH
  4409.  
  4410. IDMI DATA H*MICROCODE, * ERRLOG MICROCODE/EI MESSAGES
  4411. IDMJ BSSZ 15
  4412. IDMK DATA H*EI, *
  4413. IDML BSSZ 6
  4414.  
  4415. IDMM DATA H* ABST, * SYSTEM TITLE MESSGE
  4416. IDMM2 BSSZ 24 MESSAGE BUFFER
  4417. IDMM1L EQU *-IDMM
  4418.  
  4419. IDMN DATA H* ABSV, * SYSTEM VERSION MESSAGE
  4420. IDMN2 BSSZ 12 MESSAGE BUFFER
  4421. IDMN1L EQU *-IDMN
  4422. BRM SPACE 4,10
  4423. ** BRM - BUFFERED I/O RECOVERY MESSAGE GENERATOR.
  4424. *
  4425. * USES CM - CM+4.
  4426. *
  4427. * CALLS IGM, IPM.
  4428.  
  4429.  
  4430. BRM SUBR ENTRY/EXIT
  4431. LDC BIOL
  4432. CRD CM
  4433. LDD CM+1
  4434. ADD CM+2
  4435. ZJN BRMX IF BUFFERED I/O NOT DEFINED
  4436. RJM IGM ISSUE GENERAL MESSAGES
  4437. RJM IPM ISSUE *PUT* RELATED MESSAGES
  4438. UJN BRMX RETURN
  4439. IGM SPACE 4,10
  4440. ** IGM - ISSUE GENERAL RECOVERY MESSAGES.
  4441. *
  4442. * USES - T3, CM - CM+4, FN - FN+4.
  4443. *
  4444. * CALLS DFM.
  4445.  
  4446.  
  4447. IGM SUBR ENTRY/EXIT
  4448. LDN REML
  4449. CRD FN
  4450. LDD FN+4
  4451. ZJN IGMX IF NO MESSAGES TO ISSUE
  4452. LDC IGMA+ERLN ISSUE HEADER MESSAGE
  4453. RJM DFM
  4454. * LDN 0 INITIALIZE POINTER
  4455. STD T3
  4456. IGM1 LDD FN+4
  4457. SHN 21-0
  4458. STD FN+4
  4459. PJN IGM2 IF MESSAGE NOT SELECTED
  4460. LDM IGMB,T3
  4461. ADC ERLN
  4462. RJM DFM
  4463. IGM2 AOD T3
  4464. LMN IGMBL
  4465. ZJN IGMX IF END OF MESSAGES
  4466. UJN IGM1 CHECK NEXT MESSAGE
  4467.  
  4468.  
  4469. IGMA DATA C* BUFFERED I/O RECOVERY ERRORS.*
  4470. IGMB CON =C* WRITE LIST LINKAGE ERROR.*
  4471. CON =C* READ DATA ON WRITE LIST.*
  4472. CON =C* INTERLOCKED BUFFER ON WRITE LIST.*
  4473. CON =C* WRITE LIST BUFFER COUNT.*
  4474. CON =C* NON-LINKED WRITE BUFFER.*
  4475. IGMBL EQU *-IGMB
  4476. IPM SPACE 4,10
  4477. ** IPM - ISSUE *PUT* RELATED RECOVERY ERROR MESSAGES.
  4478. *
  4479. * USES T3, CM - CM+4, CN - CN+4, FN - FN+4.
  4480. *
  4481. * CALLS DFM.
  4482.  
  4483.  
  4484. IPM SUBR ENTRY/EXIT
  4485. LDC BIOL SET UP *PUT* SCAN
  4486. CRD CM
  4487. LDD CM+1
  4488. SHN 14
  4489. LMD CM+2
  4490. ADN PUTP READ *PUT* POINTERS
  4491. CRD CN
  4492. LDD CN+3 CLEAR FLAGS
  4493. LPN 77
  4494. STD CN+3
  4495. AOD CN
  4496. IPM1 SOD CN
  4497. ZJN IPMX IF END OF *PUT* ENTRIES
  4498. LDN PUTL INCREMENT *PUT* ADDRESS
  4499. RAD CN+4
  4500. SHN -14
  4501. RAD CN+3
  4502. SHN 14
  4503. LMD CN+4
  4504. ADK UNCT
  4505. CRD CM
  4506. ADN PILL-UNCT
  4507. CRD FN
  4508. LDD FN
  4509. ZJN IPM1 IF NO ERRORS FOR THIS *PUT*
  4510. LDD CM+1 SET EST ORDINAL IN MESSAGE
  4511. RJM C2D
  4512. STM IPMA+21
  4513. LDD CM+1
  4514. SHN -6
  4515. ADC 2RQ0
  4516. STM IPMA+20
  4517. LDC IPMA+ERLN ISSUE HEADER MESSAGE
  4518. RJM DFM
  4519. * LDN 0
  4520. STD T3
  4521. IPM2 LDD FN
  4522. SHN 21-0
  4523. STD FN
  4524. PJN IPM3 IF MESSAGE NOT SELECTED
  4525. LDM IPMB,T3
  4526. ADC ERLN
  4527. RJM DFM
  4528. IPM3 AOD T3
  4529. LMN IPMBL
  4530. NJN IPM2 IF NOT END OF MESSAGES
  4531. LJM IPM1 LOOP FOR NEXT *PUT*
  4532.  
  4533.  
  4534. IPMA DATA C* BUFFERED I/O RECOVERY ERRORS EQXXX.*
  4535.  
  4536. IPMB CON =C* I/O QUEUE SIZE ERROR.*
  4537. CON =C* I/O QUEUE LINKAGE ERROR.*
  4538. CON =C$ I/0 QUEUE *PUT* ORDINAL ERROR.$
  4539. IPMBL EQU *-IPMB
  4540. SPACE 4,10
  4541. USE LITERALS
  4542. OVERFLOW IDMX
  4543. QUAL
  4544. TTL REC/4RF - MANAGED TABLE RECOVERY.
  4545. TITLE
  4546. QUAL MTR
  4547. IDENT 4RF,MTRX
  4548. *COMMENT REC - MANAGED TABLE RECOVERY.
  4549. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  4550. MTR SPACE 4,10
  4551. *** MTR - MANAGED TABLE RECOVERY.
  4552. SPACE 4,10
  4553. ORG OVLC
  4554.  
  4555.  
  4556. ** MTR - MANAGED TABLE RECOVERY.
  4557. *
  4558. * EXIT (EJTA) = PRIMARY FILE VALIDATION FLAG.
  4559. * (RPFA) = MASS STORAGE VALIDATION FLAG.
  4560. *
  4561. * USES CN - CN+4.
  4562.  
  4563.  
  4564. MTR SUBR ENTRY/EXIT
  4565. LDN SSTL READ SYSTEM STATUS
  4566. CRD CN
  4567. LDD CN
  4568. LPN 4
  4569. NJN MTRX IF MASS STORAGE VALIDATION NOT PRESENT
  4570. LDD RS
  4571. SHN 21-6
  4572. ERRNZ JBCM-100 ADJUST IF VALUE CHANGES
  4573. PJN MTR1 IF NOT CM RECOVERY
  4574. LDD CN
  4575. LPN 20
  4576. NJN MTRX IF FILE VALIDATION DISABLED
  4577. LDC LDDI+QA ENABLE PRIMARY FILE VALIDATION
  4578. STM EJTA
  4579. LDK LDNI+PMFT
  4580. STM FNTA
  4581. MTR1 SOM RECA
  4582. UJN MTRX RETURN
  4583. CNA SPACE 4,10
  4584. ** CNA - CLEAR NON-ROLLABLE ACCESS FLAG.
  4585. *
  4586. * ENTRY (FS - FS+4) = FST ENTRY.
  4587. *
  4588. * USES T5, T6, CM - CM+4.
  4589. *
  4590. * CALLS RSS, WSS.
  4591. *
  4592. * MACROS ENDMS, SETMS, SFA.
  4593.  
  4594.  
  4595. CNA SUBR ENTRY/EXIT
  4596. LDD FS SET EQUIPMENT
  4597. STD T5
  4598. SFA EST FETCH EST ENTRY
  4599. ADK EQDE
  4600. CRD CM
  4601. LDD CM
  4602. LPN 20
  4603. ZJN CNAX IF NOT INDEPENDENT SHARED DEVICE
  4604. SETMS IO,RW
  4605. LDD FS+1 SET FIRST TRACK
  4606. STD T6
  4607. LDN 0 SET NO FILE NAME VERIFICATION
  4608. RJM RSS READ SYSTEM SECTOR
  4609. NJN CNA1 IF SYSTEM SECTOR ERROR
  4610. LDM /COMSPFM/CASS CLEAR NON-ROLLABLE ACCESS
  4611. LPC 7545
  4612. STM /COMSPFM/CASS
  4613. RJM WSS REWRITE SYSTEM SECTOR
  4614. CNA1 ENDMS
  4615. UJN CNAX RETURN
  4616. CLT SPACE 4,15
  4617. ** CLT - PROCESS COMMON LIBRARIES TABLE RECOVERY.
  4618. *
  4619. * ENTRY (EC) = NUMBER OF TABLE ENTRIES.
  4620. * (LM) = NUMBER OF ENTRIES IN USE.
  4621. * (QA) = (QI) = 0.
  4622. *
  4623. * EXIT (A) = 0 IF VALIDATION INFORMATION CLEARED FROM TABLE.
  4624. *
  4625. * USES LM, QA, CM - CM+4, FN - FN+4, FS - FS+4.
  4626. *
  4627. * MACROS SFA.
  4628.  
  4629.  
  4630. CLT3 LDN 1 RETURN ERROR INDICATOR
  4631.  
  4632. CLT SUBR ENTRY/EXIT
  4633. LDD EC
  4634. ZJN CLTX IF NO COMMON LIBRARIES TABLE EXISTS
  4635. CLT1 SOD LM
  4636. ZJN CLTX IF ALL ASSIGNED ENTRIES CHECKED
  4637. CLT2 AOD QA
  4638. LMD EC
  4639. ZJN CLT3 IF END OF CLT
  4640. SFA CLT,QA READ CLT ENTRY
  4641. CRD CM
  4642. ADN CLTF-CLTU
  4643. CRD FN
  4644. ADN CLTV-CLTF
  4645. CRD FS
  4646. LDD CM
  4647. ZJN CLT2 IF EMPTY ENTRY
  4648. LDD CM+3 CLEAR USER INDEX
  4649. SCN 77
  4650. STD CM+3
  4651. LDN 0
  4652. STD CM+4
  4653. STD FN+4 CLEAR FAMILY EQUIPMENT
  4654. STD FS+4 CLEAR PF VALIDATION
  4655. SFA CLT,QA REWRITE COMMON LIBRARIES ENTRY
  4656. CWD CM WRITE USER NAME
  4657. ADN CLTF-CLTU WRITE FAMILY NAME
  4658. CWD FN
  4659. ADN CLTV-CLTF WRITE PF VALIDATION
  4660. CWD FS
  4661. UJN CLT1 LOOP FOR NEXT ENTRY
  4662. EJT SPACE 4,15
  4663. ** EJT - PROCESS EXECUTING JOB TABLE RECOVERY.
  4664. *
  4665. * ENTRY (EC) = NUMBER OF TABLE ENTRIES.
  4666. * (LM) = NUMBER OF ENTRIES IN USE.
  4667. * (QA) = (QI) = (QT) = 0.
  4668. *
  4669. * EXIT (A) = 0 IF TABLE FULLY RECOVERED.
  4670. *
  4671. * USES LM, QA, QI, T5 - T7, CM - CM+1, FN - FN+4,
  4672. * FS - FS+4.
  4673. *
  4674. * CALLS RRF, VEI.
  4675. *
  4676. * MACROS SFA.
  4677.  
  4678.  
  4679. EJT7 LDN 1 RETURN ERROR INDICATOR
  4680.  
  4681. EJT SUBR ENTRY/EXIT
  4682. EJT1 LDD QI CHECK JOB STATUS
  4683. EJT2 SBN MXJS
  4684. PJN EJT3 IF NON-STANDARD STATUS
  4685. AOM EJCT,QI
  4686. EJT3 SOD LM
  4687. ZJN EJTX IF ALL ASSIGNED ENTRIES CHECKED
  4688. EJT4 AOD QA
  4689. LMD EC
  4690. ZJN EJT7 IF END OF EJT
  4691. SFA EJT,QA
  4692. ADK JSNE
  4693. CRD FN READ EJT ENTRY
  4694. ADN SCHE-JSNE
  4695. CRD T5 READ ROLLOUT FILE POINTERS
  4696. ADN SCLE-SCHE
  4697. CRD FS READ JOB ORIGIN TYPE
  4698. LDD FN
  4699. ZJN EJT4 IF EMPTY SLOT
  4700. LDD FN+4
  4701. LPN 77
  4702. SHN 21-0 SET JOB STATUS
  4703. STD QI
  4704. PJN EJT5 IF ENTRY NOT BUSY
  4705. LDD FN+4 CLEAR JOB ADVANCE/BUSY STATUS
  4706. LPC 7676
  4707. STD FN+4
  4708. SFA EJT,QA CLEAR FILE BUSY
  4709. CWD FN
  4710. LDD QI CHECK JOB STATUS
  4711. EJT5 LMK PRJS
  4712. ZJN EJT6 IF PRE-INITIAL JOB STATUS
  4713. LMK PWJS&PRJS
  4714. ZJN EJT6 IF PRE-INITIAL WAIT JOB STATUS
  4715. LMK EXJS&PWJS
  4716. ZJN EJT6 IF EXECUTING JOB STATUS
  4717. LMK NVJS&EXJS
  4718. ZJN EJT6 IF NVE ENTRY
  4719. RJM RRF READ ROLLOUT FILE
  4720. EJTA UJN EJT6 PROCESS NEXT ENTRY
  4721. * LDD QA (MS VALIDATION ENABLED ON CM RECOVERY)
  4722. SFA EJT
  4723. ADN PRFE FETCH PRIMARY FILE POINTERS
  4724. CRD FS-3
  4725. RJM VEI VERIFY PRIMARY FILE
  4726. EJT6 LJM EJT1 PROCESS NEXT ENTRY
  4727. FNT SPACE 4,15
  4728. ** FNT - PROCESS FILE NAME TABLE RECOVERY.
  4729. *
  4730. * ENTRY (EC) = NUMBER OF TABLE ENTRIES.
  4731. * (LM) = NUMBER OF ENTRIES IN USE.
  4732. * (QA) = (QI) = 0.
  4733. *
  4734. * EXIT (A) = 0 IF TABLE FULLY RECOVERED.
  4735. *
  4736. * USES LM, QA, QT, CM - CM+4, FN - FN+4, FS - FS+4.
  4737. *
  4738. * CALLS CNA, VEI.
  4739. *
  4740. * MACROS MONITOR, SFA.
  4741.  
  4742.  
  4743. FNT7 LDN 1 RETURN ERROR INDICATOR
  4744.  
  4745. FNT SUBR ENTRY/EXIT
  4746. FNT1 SOD LM
  4747. ZJN FNTX IF ALL ASSIGNED ENTRIES CHECKED
  4748. FNT2 AOD QA
  4749. LMD EC
  4750. ZJN FNT7 IF END OF FNT
  4751. SFA FNT,QA
  4752. CRD FN READ FNT ENTRY
  4753. ADN FSTG
  4754. CRD FS
  4755. LDD FN
  4756. ZJN FNT2 IF EMPTY SLOT
  4757. LDD FN+4
  4758. SHN -6
  4759. LMN SYFT
  4760. ZJN FNT3 IF INACTIVE FAST ATTACH FILE
  4761. LMN FAFT&SYFT
  4762. NJN FNT5 IF NOT ACTIVE FAST ATTACH FILE
  4763. AOM MSCT+FACT
  4764. LDD FS+4
  4765. SHN 21-1
  4766. PJN FNT3 IF NOT ATTACHED WITH NON-ROLLABLE OPTION
  4767. LDD FS+4 CLEAR NON-ROLLABLE ACCESS IN FST
  4768. LPC 375
  4769. STD FS+4
  4770. RJM CNA CLEAR SYSTEM SECTOR FLAG
  4771. FNT3 LDD FN+4
  4772. SCN 1
  4773. STD FN+4
  4774. SFA FNT,QA CLEAR FILE BUSY
  4775. CWD FN
  4776. ADN FSTG
  4777. CWD FS
  4778. FNT4 LJM FNT1 LOOP FOR NEXT ENTRY
  4779.  
  4780. FNT5 LMN PMFT&FAFT
  4781. ZJN FNT6 IF *CPD* SAMPLE FILE
  4782. LDD QA
  4783. STD CM+1
  4784. LDN PFNT RELEASE FNT ENTRY
  4785. STD CM+2
  4786. MONITOR MTRM
  4787. UJN FNT4 LOOP FOR NEXT ENTRY
  4788.  
  4789. FNT6 UJN FNT4 SKIP EOI VERIFICATION
  4790. * LDN PMFT (MS VALIDATION ENABLED ON CM RECOVERY)
  4791. FNTA EQU *-1
  4792. STD QT
  4793. RJM VEI VERIFY EOI
  4794. UJN FNT4 LOOP FOR NEXT ENTRY
  4795. LLF SPACE 4,15
  4796. ** LLF - LOCATE LIBRARY FILE.
  4797. *
  4798. * ENTRY (FS+1) = ADDRESS OF FNT ENTRY IN BUFFER.
  4799. * (QA) = EJT ORDINAL.
  4800. * (FN - FN+4) = FIRST WORD OF EJT ENTRY.
  4801. *
  4802. * EXIT ERROR FLAG SET TO *DRET* IF FILE IS *LIFT* AND
  4803. * THE TRACK INTERLOCK FLAG IS SET IN THE FST.
  4804. *
  4805. * USES CM - CM+4.
  4806. *
  4807. * MACROS MONITOR.
  4808.  
  4809.  
  4810. LLF SUBR ENTRY/EXIT
  4811. LDM 4,FS+1
  4812. SHN -6
  4813. LMN LIFT
  4814. NJN LLFX IF NOT LIBRARY TYPE FILE
  4815. LDM 11,FS+1
  4816. SHN 21-9D
  4817. PJN LLFX IF TRACK INTERLOCK NOT SET
  4818. LDC 4000+DRET SET ERROR FLAG
  4819. STD CM+1
  4820. LDD QA SET EJT ORDINAL
  4821. STD CM+2
  4822. LDD FN SET JSN
  4823. STD CM+3
  4824. LDD FN+1
  4825. STD CM+4
  4826. MONITOR CEFM CHANGE ERROR FLAG
  4827. UJN LLFX RETURN
  4828. QFT SPACE 4,15
  4829. ** QFT - PROCESS QUEUE FILE TABLE RECOVERY.
  4830. *
  4831. * ENTRY (EC) = NUMBER OF TABLE ENTRIES.
  4832. * (LM) = NUMBER OF ENTRIES IN USE.
  4833. * (EO) = (QA) = (QI) = 0.
  4834. *
  4835. * EXIT (A) = 0 IF TABLE FULLY RECOVERED.
  4836. *
  4837. * USES LM, QA, QI, CM - CM+4, FN - FN+4, FS - FS+4.
  4838. *
  4839. * CALLS UQE, *0DQ*.
  4840. *
  4841. * MACROS EXECUTE, SFA.
  4842.  
  4843.  
  4844. QFT10 LDN 1 RETURN ERROR INDICATOR
  4845.  
  4846. QFT SUBR ENTRY/EXIT
  4847. QFT1 AOM QFCT,QI
  4848. QFT2 SOD LM
  4849. ZJN QFTX IF ALL ASSIGNED ENTRIES CHECKED
  4850. QFT3 AOD QA
  4851. LMD EC
  4852. ZJN QFT10 IF END OF QFT
  4853. SFA QFT,QA
  4854. ADK JSNQ
  4855. CRD FN READ QFT ENTRY
  4856. ADN ENTQ-JSNQ
  4857. CRD FS
  4858. ADN SCLQ-ENTQ
  4859. CRD CM
  4860. LDD FN
  4861. ZJN QFT3 IF EMPTY SLOT
  4862. LDD FN+4
  4863. SHN -11
  4864. STD QI SET QUEUE TYPE
  4865. LDD FN+4 CHECK FOR *SOQF* OR *SQQF* FILE
  4866. SHN -6
  4867. LMN SOQF
  4868. ZJN QFT8 IF *SOQF*
  4869. LMN SQQF&SOQF
  4870. ZJN QFT8 IF *SQQF*
  4871. LDD FN+4
  4872. LPN 6
  4873. NJN QFT6 IF CREATION MODE AND/OR ASSIGNED
  4874. LDD QI
  4875. LMK INQT
  4876. NJN QFT4 IF NOT INPUT FILE
  4877. LDD CM
  4878. LPN 77
  4879. LMN IAOT
  4880. ZJN QFT8 IF INTERACTIVE INPUT FILE
  4881. QFT4 LDD FN+4
  4882. LPN 1
  4883. ZJN QFT5 IF ENTRY NOT INTERLOCKED
  4884. SOD FN+4
  4885. SFA QFT,QA CLEAR FILE BUSY
  4886. CWD FN
  4887. QFT5 LJM QFT1 LOOP FOR NEXT ENTRY
  4888.  
  4889. QFT6 LPN 4
  4890. NJN QFT7 IF CREATION MODE
  4891. LDD FS+4
  4892. NJN QFT4 IF ASSIGNED TO EXECUTING JOB
  4893. RJM UQE
  4894. UJN QFT5 LOOP FOR NEXT ENTRY
  4895.  
  4896. QFT7 LDN 1
  4897.  
  4898. * CALL *0DQ*.
  4899.  
  4900. QFT8 STM ZDLA-1 DEQUEUE FILE
  4901. EXECUTE 0DQ,ZDLA
  4902. QFT9 LJM QFT2 LOOP FOR NEXT ENTRY
  4903. RRF SPACE 4,15
  4904. ** RRF - READ ROLLOUT FILE.
  4905. *
  4906. * ENTRY (T5) = ROLLOUT FILE EST ORDINAL.
  4907. * (T6) = ROLLOUT FILE FIRST TRACK.
  4908. * (FS - FS+4) = *SCLE* WORD OF EJT ENTRY.
  4909. * (FN - FN+4) = *JSNE* WORD OF EJT ENTRY.
  4910. *
  4911. * USES FS - FS+4, T1, T2, T7, CN.
  4912. *
  4913. * CALLS LLF, RNS, RSS.
  4914. *
  4915. * MACROS ENDMS, SETMS.
  4916.  
  4917.  
  4918. RRF SUBR ENTRY/EXIT
  4919. LDD T5
  4920. ZJN RRFX IF NO ROLLOUT FILE
  4921. SETMS IO
  4922. LDN 0
  4923. RJM RSS READ SYSTEM SECTOR
  4924. NJN RRFX IF ERROR
  4925. LDC BUF READ CONTROL POINT AREA
  4926. RJM RNS
  4927. MJN RRFX IF ERROR
  4928. AOD T7 SKIP SECOND CP AREA SECTOR
  4929. LDM BUF+2+FLSW*5 GET NFL SIZE
  4930. SBN FNTS-1
  4931. STD CN SET NUMBER OF FNT SECTORS
  4932. LDD FS CHECK ORIGIN TYPE
  4933. LPN 17
  4934. LMN IAOT
  4935. NJN RRF3 IF NOT INTERACTIVE ORIGIN
  4936. RRF1 LDC BUF SKIP TERMINAL OUTPUT
  4937. RJM RNS
  4938. RRF2 MJN RRFX IF ERROR
  4939. LDD T1
  4940. SHN -6
  4941. NJN RRF1 IF MORE DATA SECTORS
  4942. RRF3 LDC SBUF INITIALIZE SEARCH ADDRESS
  4943. STD FS+1
  4944. SBN 2 INITIALIZE BUFFER POINTER
  4945. STD FS+2
  4946. LDN 0 SET INITIAL SEARCH MODE FLAG
  4947. STD T2
  4948. LDN 5 SET INITIAL ADVANCE COUNT
  4949. STD FS
  4950.  
  4951. * FILL BUFFER WITH DATA.
  4952.  
  4953. RRF4 LDD FS+2
  4954. ADC -SBUF-SBUFL+2
  4955. PJN RRF6 IF BUFFER IS FULL
  4956. RRF5 LDI FS+2 SAVE TWO BYTES
  4957. STD FS+3
  4958. LDM 1,FS+2
  4959. STD FS+4
  4960. LDD FS+2 READ SECTOR
  4961. RJM RNS
  4962. MJN RRF2 IF ERROR
  4963. LDD FS+3 RESTORE TWO BYTES
  4964. STI FS+2
  4965. LDD FS+4
  4966. STM 1,FS+2
  4967. LDC 500 ADVANCE BUFFER POINTER
  4968. RAD FS+2
  4969. SOD CN DECREMENT SECTOR COUNT
  4970. NJN RRF4 IF MORE TO READ
  4971. LDK -FNTT*5 ADJUST POINTER TO THE LAST FNT ENTRY
  4972. RAD FS+2
  4973.  
  4974. * PROCESS FULL BUFFER.
  4975.  
  4976. RRF6 LDD FS+2 CHECK FOR END OF BUFFER
  4977. ADN 2
  4978. SBD FS+1
  4979. SBN LENF*5
  4980. MJN RRF9 IF END OF BUFFER
  4981. LDI FS+1
  4982. ZJN RRF8 IF EMPTY ENTRY
  4983. LDD T2
  4984. NJN RRF7 IF START OF FNT-S PREVIOUSLY FOUND
  4985. AOD T2 CHANGE SEARCH MODE FLAG
  4986. LDN LENF*5 CHANGE ADVANCE COUNT
  4987. STD FS
  4988. RRF7 RJM LLF LOCATE LIBRARY FILE
  4989. RRF8 LDD FS ADVANCE TO NEXT ENTRY
  4990. RAD FS+1
  4991. UJN RRF6 CHECK NEXT ENTRY
  4992.  
  4993. RRF9 ADN LENF*5
  4994. STD T1 SAVE AMOUNT TO MOVE
  4995. LDD CN
  4996. ZJN RRF13 IF END OF FNT ENTRIES
  4997. LDD T1
  4998. NJN RRF10 IF NOT EXACT END OF BUFFER
  4999. LDC SBUF RESET START OF SEARCH
  5000. STD FS+1
  5001. UJN RRF12 REFILL BUFFER
  5002.  
  5003. * MOVE PARTIAL ENTRY TO TOP OF BUFFER.
  5004.  
  5005. RRF10 LDD FS+1 SET ADDRESS TO MOVE FROM
  5006. STM RRFA
  5007. LDC SBUF SET ADDRESS TO MOVE TO
  5008. SBD T1
  5009. STM RRFB
  5010. STD FS+1 RESET START OF SEARCH
  5011. SOD T1
  5012. RRF11 LDM **,T1 MOVE PARTIAL ENTRY TO TOP
  5013. RRFA EQU *-1 (ADDRESS TO MOVE FROM)
  5014. STM **,T1
  5015. RRFB EQU *-1 (ADDRESS TO MOVE TO)
  5016. SOD T1
  5017. PJN RRF11 IF MORE TO MOVE
  5018. RRF12 LDC SBUF-2 RESET BUFFER POINTER
  5019. STD FS+2
  5020. LJM RRF5 REFILL BUFFER
  5021.  
  5022. RRF13 ENDMS RELEASE MS RESERVATIONS
  5023. LJM RRFX RETURN
  5024.  
  5025.  
  5026. ZDLA EQU *+1 *0DQ* LOAD ADDRESS
  5027.  
  5028. ERRPL ZDLA+ZDQL-BFMS OVERFLOW INTO BUFFER
  5029.  
  5030.  
  5031. * ROLLOUT FILE FNT SECTOR BUFFER.
  5032.  
  5033. SBUF EQU *+LENF*5-5 LEAVE ROOM FOR FNT ENTRY - ONE WORD
  5034.  
  5035. ERRPL SBUF+SBUFL-EPFW BUFFER OVERFLOW
  5036. SPACE 4,10
  5037. QUAL
  5038. CLT EQU /MTR/CLT
  5039. EJT EQU /MTR/EJT
  5040. FNT EQU /MTR/FNT
  5041. QFT EQU /MTR/QFT
  5042. QUAL *
  5043. TTL REC/4RG - PROCESS ERROR LOGS.
  5044. TITLE
  5045. QUAL PEL
  5046. IDENT 4RG,PELX
  5047. *COMMENT REC - PROCESS ERROR LOGS.
  5048. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  5049. CEL SPACE 4,10
  5050. *** PEL - PROCESS ERROR LOGS.
  5051. CEL SPACE 4,10
  5052. * COMMON DECKS.
  5053.  
  5054.  
  5055. *CALL COMPCHM
  5056. CEL SPACE 4,10
  5057. * DIRECT CELL DEFINITIONS.
  5058.  
  5059.  
  5060. AP EQU 20 - 24 *DSAL*
  5061. SC EQU 61 ERROR STATUS
  5062. EA EQU 62 ERROR MESSAGE ADDRESS
  5063. WX EQU 63 ASSEMBLY BUFFER INDEX
  5064. BX EQU 64 SUPPLEMENT INDEX
  5065. CX EQU 65 CEL BUFFER INDEX
  5066. CEL SPACE 4,10
  5067. * CONSTANTS.
  5068.  
  5069.  
  5070. AC EQU 0 *APP* INTERFACE CHANNEL
  5071. CEL SPACE 4,10
  5072. ORG OVLD
  5073.  
  5074. PEL SUBR ENTRY/EXIT
  5075. LDC OVL0 SET MASS STORAGE IDENT LOAD ADDRESS
  5076. STD LA
  5077. LDN 3 ISSUE BOTH ERRLOG AND BML MESSAGES
  5078. RJM IME IDENTIFY MASS STORAGE EQUIPMENT
  5079. RJM CEL DUMP DEADSTART ERROR LOG
  5080. RJM IEL INITIATE *DFT* ERROR LOGGING
  5081. UJN PELX RETURN
  5082. CEL SPACE 4,10
  5083. ** CEL - DUMP CRITICAL ERROR LOG.
  5084. *
  5085. * USES CM+1, EA, AP - AP+4.
  5086. *
  5087. * CALLS AAP, DAP, DFM, LPR, PCL.
  5088. *
  5089. * MACROS MONITOR.
  5090.  
  5091.  
  5092. CEL SUBR ENTRY/EXIT
  5093. LDK DSAL READ *APP* PARAMETERS
  5094. CRD AP
  5095. RJM LPR PLACE *PPR* IN *DBUF*
  5096. RJM AAP ACTIVATE *APP*
  5097. MJN CEL1 IF *APP* NOT RESPONDING
  5098. RJM PCL PROCESS CRITICAL ERROR LOG
  5099. MJN CEL2 IF *APP* NOT RESPONDING
  5100. RJM DAP TERMINATE *APP* AND LOAD *PPR*
  5101. ZJN CEL2 IF NO ERRORS
  5102. CEL1 STD EA
  5103. CEL2 LDN 0 DROP *APP* INTERFACE CHANNEL
  5104. CELA EQU CEL2
  5105. ZJN CEL3 IF CHANNEL NOT RESERVED
  5106. STD CM+1
  5107. MONITOR DCHM
  5108. CEL3 LDD EA
  5109. ZJN CELX IF NO ERROR
  5110. LMC ERLN ISSUE MESSAGE TO ERROR LOG
  5111. RJM DFM
  5112. LJM CELX RETURN
  5113. AAP SPACE 4,10
  5114. ** AAP - ACTIVATE *APP*.
  5115. *
  5116. * ENTRY (AP - AP+4) = *DSAL*.
  5117. *
  5118. * EXIT (A) = 1/1, 5/0, 12/MESSAGE ADDRESS IF *APP* NOT
  5119. * RESPONDING.
  5120. * (EA) = (SC) = 0.
  5121. *
  5122. * CALLS ECI, PRS.
  5123. *
  5124. * USES CM - CM+4.
  5125. *
  5126. * MACROS MONITOR.
  5127.  
  5128.  
  5129. AAP SUBR ENTRY/EXIT
  5130. LDC CHTP
  5131. CRD CM
  5132. LDN NCTAL SET CHANNEL TABLE LENGTH
  5133. STD CM
  5134. LDD CM+2 READ UP CHANNEL TABLE
  5135. SHN 14
  5136. LMD CM+3
  5137. CRM BFMS,CM
  5138. LDM BFMS,AP CHECK *APP* CHANNEL
  5139. LPN 40
  5140. NJN APP1 IF CHANNEL DOWN
  5141. LDD AP
  5142. STD CM+1 SET CHANNEL IN REQUEST
  5143. STD CM+2
  5144. RAM CELA
  5145. MONITOR RCHM RESERVE THE CHANNEL
  5146. APP1 LDN 0
  5147. STD EA INITIALIZE MESSAGE ADDRESS
  5148. STD SC
  5149. LDN DSCL FETCH DEADSTART CONTROL WORD
  5150. CRD CM
  5151. LDD AP
  5152. LMC 4000 ACTIVATE ALTERNATE PP
  5153. STD CM
  5154. LDK DSCL POST REQUEST
  5155. CWD CM
  5156. LDD AP PRESET CHANNEL INSTRUCTIONS
  5157. RJM /COMPAPI/PRS
  5158. LDC IJMI WAIT FOR CHANNEL ACTIVE
  5159. RJM /COMPAPI/ECI
  5160. SHN 0-13
  5161. ZJN AAP2 IF NO ERROR
  5162. LDC /COMPAPI/CAIA+400000
  5163. AAP2 UJP AAPX RETURN
  5164. CCF SPACE 4,10
  5165. ** CCF - CLEAR CEL FLAG IN DEADSTART SECTOR.
  5166. *
  5167. * EXIT (A) = 0 IF CEL FLAG CLEARED.
  5168. * .NE. 0 IF I/O ERROR.
  5169. *
  5170. * CALLS FEE, WDS, *0PI*.
  5171. *
  5172. * MACROS ENDMS, EXECUTE.
  5173.  
  5174.  
  5175. CCF2 LDC =C*DEADSTART SECTOR ERROR.*
  5176.  
  5177. CCF SUBR ENTRY/EXIT
  5178. RJM FEE FIND EST ENTRY OF DEADSTART DISK
  5179. NJN CCFX IF EST ENTRY NOT FOUND
  5180. LDD T5 SET *0PI* PARAMETERS
  5181. LMC 4000
  5182. STM OVL0-1
  5183. EXECUTE 0PI,OVL0 READ DEADSTART SECTOR
  5184. CCF1 NJN CCF2 IF NOT A VALID DEADSTART SECTOR
  5185. LDM BFMS+CFBP
  5186. SCN 20 CLEAR CEL FLAG
  5187. STM BFMS+CFBP
  5188. LDC BFMS+WLSF REWRITE DEADSTART SECTOR
  5189. RJM WDS
  5190. MJN CCF1 IF I/O ERROR
  5191. ENDMS
  5192. * LDN 0
  5193. LJM CCFX RETURN
  5194. CSC SPACE 4,10
  5195. ** CSC - COMPUTE SYMPTOM CODE.
  5196. *
  5197. * ENTRY (CX) = CEL BUFFER INDEX.
  5198. *
  5199. * EXIT (A) = SYMPTOM CODE.
  5200. *
  5201. * USES T0.
  5202.  
  5203.  
  5204. CSC SUBR ENTRY/EXIT
  5205. LDM BFMS+APDL,CX
  5206. SHN -10
  5207. STD T0
  5208. LDN 2
  5209. SBD T0
  5210. SHN 10
  5211. ADK /COMSDFS/HS0001
  5212. UJN CSCX RETURN
  5213. DAP SPACE 4,10
  5214. ** DAP - DEADSTART *APP*.
  5215. *
  5216. * EXIT (A) = 0 IF NO ERROR LOADING *PPR*.
  5217.  
  5218.  
  5219. DAP SUBR ENTRY/EXIT
  5220. LDC ** (ERROR MESSAGE ADDRESS)
  5221. DAPA EQU *-1
  5222. NJN DAPX IF *PPR* LOAD FAILURE
  5223. LDK MSFW+1 OUTPUT P ADDRESS
  5224. OAN AC
  5225. LDK PPFW-1 OUTPUT *PPR*
  5226. OAM DBUF+6,AC
  5227. FJM *,AC IF CHANNEL FULL
  5228. DCN AC
  5229. * LDN 0
  5230. UJN DAPX RETURN
  5231. FAB SPACE 4,10
  5232. ** FAB - FLUSH ASSEMBLY BUFFER.
  5233. *
  5234. * EXIT (WX) = 0.
  5235. *
  5236. * USES T1, WX.
  5237. *
  5238. * CALLS DFM.
  5239.  
  5240.  
  5241. FAB SUBR ENTRY/EXIT
  5242. LDN 6*5 SET MESSAGE LENGTH
  5243. STD CM+1
  5244. LDC MBUF+BMLN ISSUE BML MESSAGE
  5245. RJM DFM
  5246. * LDN 0 RESET ASSEMBLY BUFFER INDEX
  5247. STD WX
  5248. LDN 3*5+4 CLEAR REGISTER AREA OF BUFFER
  5249. STD T1
  5250. FAB1 LDN 0
  5251. STM MBUF+2*5,T1
  5252. SOD T1
  5253. PJN FAB1 IF MORE BYTES TO CLEAR
  5254. UJN FABX RETURN
  5255. FEE SPACE 4,10
  5256. ** FEE - FIND EST ENTRY OF DEADSTART DISK.
  5257. *
  5258. * ENTRY (AP+4) = 6/UNIT, 6/CHANNEL.
  5259. *
  5260. * EXIT (A) = 0 IF EST ENTRY FOUND.
  5261. * = ERROR MESSAGE ADDRESS IF EST ENTRY NOT FOUND.
  5262. * (T5) = DEADSTART DISK EST ORDINAL.
  5263. *
  5264. * USES T2 - T6, CM - CM+4.
  5265. *
  5266. * MACROS SFA.
  5267.  
  5268.  
  5269. FEE4 LDC =C*CEL DEVICE UNDEFINED.*
  5270.  
  5271. FEE SUBR ENTRY/EXIT
  5272. LDK ESTP
  5273. CRD T2
  5274. FEE1 SOD T5 DECREMENT EST ORDINAL
  5275. LMK NOPE-1
  5276. ZJN FEE4 IF END OF EST SCAN
  5277. LMK NOPE-1
  5278. SFA EST
  5279. ADK EQDE
  5280. CRD CM
  5281. LDD CM
  5282. SHN -6
  5283. LPN 42
  5284. LMN 42
  5285. NJN FEE1 IF NOT MASS STORAGE/*LDAM* DEVICE
  5286. LDD CM+1
  5287. LMD AP+4
  5288. LPN 77
  5289. ZJN FEE3 IF MATCH ON PRIMARY CHANNEL
  5290. LDD CM+2
  5291. ZJN FEE1 IF NO ALTERNATE ACCESS
  5292. LMD AP+4
  5293. LPN 77
  5294. FEE2 NJN FEE1 IF NOT A MATCH ON SECONDARY CHANNEL
  5295. FEE3 LDD CM+4
  5296. SHN 3
  5297. ADK DDLL
  5298. CRD CM
  5299. LDD AP+4
  5300. SHN -6
  5301. LMD CM+4
  5302. LPN 77
  5303. NJN FEE2 IF NOT A MATCH ON UNIT
  5304. LJM FEEX RETURN
  5305. IBM SPACE 4,15
  5306. ** IBM - ISSUE BML MESSAGES.
  5307. *
  5308. * ENTRY (BFMS) = WORD COUNT.
  5309. * (BFMS+1 - BFMS+477) = CEL SECTOR.
  5310. *
  5311. * EXIT (EA) = ERROR MESSAGE ADDRESS IF BAD WORD COUNT.
  5312. *
  5313. * USES BX, CX, EA, EI, T6, T7, WX, CM - CM+4, CN - CN+4.
  5314. *
  5315. * CALLS CSC, FAB, MSW, TRS.
  5316.  
  5317.  
  5318. IBM SUBR ENTRY/EXIT
  5319. LDC MMFL SET MACHINE ID INTO BML
  5320. CRD CN
  5321. LDD CN
  5322. STM MBUF+5+3
  5323. LDK PPCP
  5324. CRD CN
  5325. LDD IA DETERMINE PP NUMBER
  5326. SBD CN+4
  5327. SHN 3
  5328. RAM MBUF+2
  5329. LDK ZERL INITIALIZE SUPPLEMENT WORD
  5330. CRD CN
  5331. LDN 0 INITIALIZE INDEX CELLS
  5332. STD WX
  5333. STD BX
  5334. STD CX
  5335. IBM1 RJM CSC COMPUTE SYMPTOM CODE
  5336. STM MBUF+1
  5337. LDN 4 SET CONTINUATION FLAG
  5338. STM MBUF+5+1
  5339. LDM BFMS+APDL+6,CX SET ELEMENT NUMBER
  5340. LPN 7
  5341. STD T7 SAVE ELEMENT NUMBER
  5342. IBM2 LDC BFMS+APDL+1 STORE BITS 0 - 59 OF REGISTER
  5343. ADD CX
  5344. STM IBMA
  5345. LDD WX
  5346. SHN 2
  5347. ADD WX
  5348. ADC MBUF+2*5
  5349. STM IBMB
  5350. LDD MA
  5351. CWM **,ON
  5352. IBMA EQU *-1
  5353. SBN 1
  5354. CRM **,ON
  5355. IBMB EQU *-1
  5356. AOD WX INCREMENT ASSEMBLY BUFFER INDEX
  5357. LDM BFMS+APDL+6,CX STORE REGISTER NUMBER AND UPPER BITS
  5358. SCN 7
  5359. STM CN,BX
  5360. LDM BFMS+APDL,CX
  5361. LPC 377
  5362. RAM CN,BX
  5363. AOD BX INCREMENT SUPPLEMENT BYTE INDEX
  5364. IBM3 LDD WX
  5365. LMN 4
  5366. NJN IBM4 IF NOT FULL ASSEMBLY BUFFER
  5367. RJM FAB FLUSH ASSEMBLY BUFFER
  5368. LDM MBUF+5+1 SET NOT FIRST BLOCK BIT
  5369. SCN 10
  5370. LMN 10
  5371. STM MBUF+5+1
  5372. IBM4 LDD BX
  5373. LMN 4
  5374. NJN IBM5 IF SUPPLEMENT WORD NOT FULL
  5375. RJM MSW MOVE SUPPLEMENT WORD TO ASSEMBLY BUFFER
  5376. UJN IBM3 CHECK FOR ASSEMBLY BUFFER FULL
  5377.  
  5378. IBM5 LDN 7 ADVANCE CEL BUFFER INDEX
  5379. RAD CX
  5380. SBM BFMS
  5381. NJN IBM7 IF NOT END OF CEL BUFFER
  5382. IBM6 RJM TRS TERMINATE REGISTER SET
  5383. LJM IBMX RETURN
  5384.  
  5385. IBM7 PJN IBM10 IF BAD WORD COUNT
  5386. RJM CSC COMPUTE SYMPTOM CODE
  5387. LMM MBUF+1
  5388. NJN IBM8 IF SYMPTOM CODE CHANGED
  5389. LDM BFMS+APDL+6,CX
  5390. LPN 7
  5391. LMD T7
  5392. ZJN IBM9 IF ELEMENT NUMBER UNCHANGED
  5393.  
  5394. * CHECK IF NEXT REGISTER IS FOR THE SECOND PROCESSOR.
  5395.  
  5396. LDM BFMS+APDL,CX
  5397. SHN 0-10
  5398. NJN IBM8 IF NOT A PROCESSOR ERROR
  5399.  
  5400. * CHANGE ELEMENT NUMBER IN BITS 32 - 39 OF ELEMENT ID REGISTER
  5401. * TO 10(16) TO INDICATE SECOND PROCESSOR.
  5402.  
  5403. LDM BFMS+APDL+3,CX
  5404. SCN 17
  5405. ADK 0#10S-4 SET ELEMENT NUMBER TO 10(16)
  5406. STM BFMS+APDL+3,CX
  5407. IBM8 RJM TRS TERMINATE REGISTER SET
  5408. LJM IBM1 PROCESS NEXT REGISTER SET
  5409.  
  5410. IBM9 LJM IBM2 PROCESS NEXT REGISTER
  5411.  
  5412. IBM10 LDC =C*BAD CEL WORD COUNT.*
  5413. STD EA
  5414. LJM IBM6 TERMINATE REGISTER SET AND RETURN
  5415.  
  5416.  
  5417. MBUF BSS 0 BML MESSAGE HEADER
  5418.  
  5419. VFD 12//COMSDFS/HM0250 MESSAGE ID
  5420. VFD 12/0 SYMPTOM CODE
  5421. VFD 6/0 PP NUMBER
  5422. VFD 6/17 MAINTENANCE CHANNEL
  5423. VFD 24/0 UNUSED
  5424.  
  5425. VFD 12/0 UNUSED
  5426. VFD 12/4 CONTINUATION FLAG
  5427. VFD 12/0 UNUSED
  5428. VFD 12/0 MACHINE ID
  5429. VFD 12/0 UNUSED
  5430.  
  5431. BSSZ 4*5 MESSAGE ASSEMBLY BUFFER
  5432. IEL SPACE 4,10
  5433. ** IEL - INITIATE ERROR LOGGING BY *DFT*.
  5434. *
  5435. * EXIT TO *ERR* IF *DFT* DETERMINES THE REVISION LEVEL OF THE
  5436. * *DFT/OS* INTERFACE IS INCORRECT.
  5437. * *1MB* INHIBIT FLAG IN *SCRL* CLEARED.
  5438. *
  5439. * USES T1, T2, CM - CM+4.
  5440. *
  5441. * MACROS DCHAN, DELAY, EXECUTE, MONITOR, RCHAN.
  5442.  
  5443.  
  5444. IEL SUBR ENTRY/EXIT
  5445. LDK EIBP READ *EICB* POINTER WORD
  5446. CRD CM
  5447. LDD CM+3
  5448. SHN 14
  5449. LMD CM+4
  5450. ZJP IEL2 IF NO *DFT* VERIFICATION REQUIRED
  5451. ADN DSCM+3
  5452. CRD CM
  5453. LDD CM+2 SAVE ADDRESS OF *DFT* CONTROL WORD
  5454. SHN 14
  5455. LMD CM+3
  5456. SHN -4
  5457. SHN 6
  5458. LMD CM
  5459. CRD CM READ *DFT* CONTROL WORD
  5460. STM IELA
  5461. SHN -14
  5462. RAM IELA-1
  5463. LDD CM+4
  5464. SHN 21-/DFT/DCDM
  5465. MJN IEL0 IF NOT DEDICATED *DFT*
  5466. LDN DSAL RESERVE *CIP* CHANNEL
  5467. CRD CM
  5468. LDD CM+4
  5469. LPN 77
  5470. STD T1 SAVE CHANNEL
  5471. RCHAN
  5472. IEL0 LDD MA
  5473. CWM IELB,ON WRITE PP CALL TO MESSAGE BUFFER
  5474. LDN 0
  5475. STD CM+1
  5476. EXECUTE 1MP,=
  5477. MONITOR RPPM REQUEST PP FOR *1MB*
  5478. IEL1 DELAY
  5479. LDC ** READ *DFT* CONTROL WORD
  5480. IELA EQU *-1
  5481. CRD CM
  5482. LDD CM+4 CHECK RESPONSE
  5483. STD T2
  5484. SHN 21-/DFT/DCVR CHECK VERIFICATION FLAG
  5485. PJN IEL1 IF NO REPLY FROM *DFT*
  5486. SHN /DFT/DCVR-/DFT/DCDM
  5487. MJN IEL1.1 IF NOT DEDICATED *DFT*
  5488. LDD T1 RELEASE *CIP* CHANNEL
  5489. DCHAN
  5490. IEL1.1 LDD T2 CHECK RESPONSE
  5491. SHN 21-/DFT/DCRJ
  5492. MJN IEL4 IF REVISION LEVEL REJECTED BY *DFT*
  5493. SHN /DFT/DCRJ-/DFT/DCDM
  5494. MJN IEL3 IF NOT DEDICATED *DFT*
  5495.  
  5496. * CLEAR *1MB* INHIBIT FLAG IN *SCRL*.
  5497.  
  5498. IEL2 LDC SCRL READ *SCRL*
  5499. CRD CM
  5500. LDD CM CLEAR *1MB* INHIBIT FLAG
  5501. LPC 3777
  5502. STD CM
  5503. LDC SCRL REWRITE *SCRL*
  5504. CWD CM
  5505. IEL3 LJM IELX RETURN
  5506.  
  5507. * PROCESS *DFT* REJECT.
  5508.  
  5509. IEL4 LDC IELC *DFT REVISION LEVEL MISMATCH*
  5510. LJM ERR DISPLAY MESSAGE AND HANG
  5511.  
  5512.  
  5513. IELB VFD 18/3L1MP,6/**,12/0,24/0
  5514. IELC DATA C*DFT REVISION LEVEL MISMATCH.*
  5515. LPR SPACE 4,10
  5516. ** LPR - LOAD AND PREPARE *PPR* IN *DBUF*.
  5517. *
  5518. * ENTRY (AP - AP+4) = *DSAL*.
  5519. *
  5520. * EXIT (DBUF - DBUF+PPFW-1) = *PPR*.
  5521. *
  5522. * USES T1, T2, T5 - T7, CM - CM+4, CN - CN+4.
  5523. *
  5524. * CALLS RNS.
  5525. *
  5526. * MACROS ENDMS, MONITOR, SETMS.
  5527.  
  5528.  
  5529. LPR SUBR ENTRY/EXIT
  5530. LDC 0L1PR SET *PPR* NAME
  5531. STD CM+3
  5532. SHN -14
  5533. STD CM+2
  5534. MONITOR SPLM SEARCH PERIPHERAL LIBRARY
  5535. LDD CM+1 SET EST ORDINAL
  5536. LPC 777
  5537. STD T5
  5538. LDD CM+2 SET TRACK NUMBER
  5539. STD T6
  5540. LDD CM+3 SET SECTOR NUMBER
  5541. STD T7
  5542. SETMS READSYS,ND
  5543. LDC DBUF-2
  5544. STD T2
  5545. LPR1 LDI T2 SAVE TWO WORDS
  5546. STD CN
  5547. LDM 1,T2
  5548. STD CN+1
  5549. LDD T2
  5550. RJM RNS READ NEXT SECTOR
  5551. MJN LPR3 IF I/O ERROR
  5552. LDD CN RESTORE TWO WORDS
  5553. STI T2
  5554. LDD CN+1
  5555. STM 1,T2
  5556. LDC 500 ADVANCE BUFFER ADDRESS
  5557. RAD T2
  5558. LDD T1
  5559. SHN -6
  5560. NJN LPR1 IF NOT END OF *PPR*
  5561. ENDMS
  5562. LDK PPCP GET FWA OF PP COMMUNICATIONS AREA
  5563. CRD CM
  5564. LDD AP *APP* PP NUMBER
  5565. SHN 3
  5566. ADD CM+4
  5567. STM DBUF+IA+5 SET UP *IA*
  5568. ADN 1
  5569. STM DBUF+OA+5 SET UP *OA*
  5570. ADN 1
  5571. STM DBUF+MA+5 SET UP *MA*
  5572. LPR2 LJM LPRX RETURN
  5573.  
  5574. LPR3 LDC =C* PPR LOAD ERROR.*
  5575. STM DAPA
  5576. UJN LPR2 RETURN
  5577. MSW SPACE 4,10
  5578. ** MSW - MOVE SUPPLEMENT WORD TO ASSEMBLY BUFFER.
  5579. *
  5580. * ENTRY (WX) = ASSEMBLY BUFFER INDEX.
  5581. * (CN - CN+4) = SUPPLEMENT WORD.
  5582. *
  5583. * EXIT (BX) = 0.
  5584. * (CN - CN+4) = 0.
  5585. *
  5586. * USES BX, WX, CN - CN+4.
  5587.  
  5588.  
  5589. MSW SUBR ENTRY/EXIT
  5590. LDD WX MOVE SUPPLEMENT WORD
  5591. SHN 2
  5592. ADD WX
  5593. ADC MBUF+2*5
  5594. STM MSWA
  5595. LDD MA
  5596. CWD CN
  5597. CRM **,ON
  5598. MSWA EQU *-1
  5599. AOD WX INCREMENT ASSEMBLY BUFFER INDEX
  5600. LDK ZERL CLEAR SUPPLEMENT WORD
  5601. CRD CN
  5602. LDN 0 RESET BYTE INDEX
  5603. STD BX
  5604. UJN MSWX RETURN
  5605. PCL SPACE 4,15
  5606. ** PCL - PROCESS CRITICAL ERROR LOG.
  5607. *
  5608. * ENTRY (AP - AP+4) = *DSAL*.
  5609. *
  5610. * EXIT (A) = 0 IF CRITICAL ERROR LOG NOT PRESENT OR READ
  5611. * WITHOUT ERROR.
  5612. * .GT. 0 IF ERROR OTHER THAN *APP* NOT RESPONDING.
  5613. * .LT. 0 IF *APP* NOT RESPONDING.
  5614. *
  5615. * USES EA, SC, CM+1.
  5616. *
  5617. * CALLS CCF, CDA, IBM.
  5618. *
  5619. * MACROS MONITOR.
  5620.  
  5621.  
  5622. PCL3 LDD SC SET EXIT CONDITION
  5623. SHN 14
  5624.  
  5625. PCL SUBR ENTRY/EXIT
  5626. LDD AP+3
  5627. ZJN PCLX IF CRITICAL ERROR LOG NOT PRESENT
  5628. LDD AP+4 REQUEST DEADSTART CHANNEL
  5629. LPN 37
  5630. STD CM+1
  5631. LDN 0
  5632. STD CM+2
  5633. MONITOR RCHM
  5634. LDC 3RLCE SET PROGRAM NAME
  5635. STM BFMS
  5636. SHN -6
  5637. SCN 77
  5638. STM BFMS+1
  5639. LDK CDAS*10000+BFMS REQUEST CRITICAL ERROR LOG
  5640. RJM CDA COMMON DISK AREA REQUEST
  5641. ZJN PCL1 IF NO ERROR
  5642. STD EA SAVE STATUS
  5643. SHN -14
  5644. STD SC
  5645. PCL1 MONITOR DCHM
  5646. LDM BFMS
  5647. SHN 21-13
  5648. PJN PCL2 IF NO DATA OR ERROR
  5649. SHN 3
  5650. SHN 13-21-3
  5651. STM BFMS
  5652. RJM IBM ISSUE BML MESSAGES
  5653. RJM CCF CLEAR CEL FLAG IN DEADSTART SECTOR
  5654. ZJN PCL2 IF NO ERROR
  5655. STD EA
  5656. SHN -14
  5657. STD SC
  5658. PCL2 LJM PCL3 RETURN
  5659. TRS SPACE 4,10
  5660. ** TRS - TERMINATE REGISTER SET.
  5661. *
  5662. * ENTRY (BX) = SUPPLEMENT BYTE INDEX.
  5663. * (WX) = ASSEMBLY BUFFER INDEX.
  5664. *
  5665. * USES T6, WX.
  5666. *
  5667. * CALLS FAB, MSW.
  5668.  
  5669.  
  5670. TRS SUBR ENTRY/EXIT
  5671. LDD BX
  5672. ZJN TRS3 IF SUPPLEMENT WORD IN CURRENT BLOCK
  5673. LDD WX
  5674. SBD BX
  5675. STD T6
  5676. PJN TRS1 IF SUPPLEMENT WORD NOT IN CURRENT BLOCK
  5677. ADN 4
  5678. UJN TRS2 PROCESS SUPPLEMENT WORD IN CURRENT BLOCK
  5679.  
  5680. TRS1 RJM FAB FLUSH ASSEMBLY BUFFER
  5681. LDD T6
  5682. TRS2 STD WX
  5683. RJM MSW MOVE SUPPLEMENT WORD TO ASSEMBLY BUFFER
  5684. TRS3 LDM MBUF+5+1 CLEAR CONTINUATION BIT
  5685. SCN 4
  5686. STM MBUF+5+1
  5687. RJM FAB FLUSH ASSEMBLY BUFFER
  5688. UJN TRSX RETURN
  5689. CEL SPACE 4,10
  5690. * COMMON DECKS.
  5691.  
  5692.  
  5693. QUAL
  5694. CDA$ SET 1 SELECT *COMPAPI* COMMON DISK AREA ROUTINE
  5695. PRS$ SET 1 SELECT *COMPAPI* PRESET PROCESSOR
  5696. QUAL *
  5697. LIST X
  5698. *CALL COMPAPI
  5699. LIST *
  5700. CEL SPACE 4,10
  5701. RSTC RESTORE CHANNEL I/O INSTRUCTIONS
  5702. CEL SPACE 4,10
  5703. USE BUFFER
  5704.  
  5705. * DATA BUFFER.
  5706.  
  5707. DBUF EQU *+2
  5708. SPACE 4,10
  5709. ** OVERLAID COMMON DECKS.
  5710.  
  5711.  
  5712. LIST X
  5713. *CALL COMPPDI
  5714. LIST *
  5715. SPACE 4,10
  5716. * OVERLAY ORIGINS.
  5717.  
  5718.  
  5719. OVL0 EQU DBUF+PPFW *0PI* ORIGIN
  5720. ERRPL OVL0+500-BFMS BUFFER OVERFLOW
  5721. CEL SPACE 4,10
  5722. * OVERFLOW CHECKS.
  5723.  
  5724.  
  5725. ERRPL OVL0+ZPXL-BFMS BUFFER OVERFLOW
  5726. TTL REC/4RH - RECOVER MASS STORAGE DEVICES.
  5727. TITLE
  5728. QUAL RMD
  5729. IDENT 4RH,RMDX
  5730. *COMMENT REC - RECOVER MASS STORAGE DEVICES.
  5731. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  5732. RMD SPACE 4,10
  5733. *** RMD - RECOVER MASS STORAGE DEVICES.
  5734. *
  5735. * *RMD* SCANS THE EST FOR MASS STORAGE DEVICES
  5736. * AND INITIATES A COPY OF *1RF* FOR EACH ONE.
  5737. RMD SPACE 4,10
  5738. ORG OVLA
  5739.  
  5740.  
  5741. ** RMD - RECOVER MASS STORAGE DEVICES.
  5742. *
  5743. * ENTRY (RS) = RECOVERY STATUS.
  5744. * (NC) = SYSTEM CONTROL POINT NUMBER.
  5745.  
  5746.  
  5747. RMD SUBR ENTRY/EXIT
  5748. LDD RS SET RECOVERY STATUS IN PP CALL
  5749. STM RMDA+4
  5750. LDN ESTP GET ORDINAL OF LAST MS EQUIPMENT + 1
  5751. CRD T7-3
  5752. LDN NOPE-1 SET BEGINNING OF EST SEARCH
  5753. STD T6
  5754. LDN 0 CLEAR PP COUNT
  5755. STD T5
  5756. STD T4
  5757. STD DI CLEAR INITIALIZE COUNT
  5758. LDN EJTE
  5759. STD T3
  5760. LDN EJTP FETCH EJT POINTER
  5761. CRD CA
  5762. LDD CA GET SYSTEM EJT ENTRY
  5763. SHN 14
  5764. LMD CA+1
  5765. CRM BUFM,T3
  5766. .EO EQU DSEO-1
  5767. ADK .EO*EJTE SAVE DEADSTART EJT ENTRY SLOT
  5768. CRM RMDC,T3
  5769. SBN EJTE STORE DEADSTART EJT ENTRY
  5770. CWM BUFM,T3
  5771.  
  5772. * REQUEST PP-S TO PROCESS DEVICES.
  5773.  
  5774. RMD1 RJM GND GET NEXT DEVICE
  5775. ZJN RMD3 IF NO MORE DEVICES
  5776. STM RMDA+2 SET EST ORDINAL TO RECOVER
  5777. LDK PPAL
  5778. CRD CM
  5779. LDD CM+4 CHECK NUMBER OF REMAINING PP-S
  5780. SBN 3
  5781. MJN RMD4 IF LESS THAN 3 FREE
  5782. EXECUTE 1RF,=
  5783. LDD MA REQUEST ANOTHER COPY OF *1RF*
  5784. CWM RMDA,ON
  5785. LDN 1 SET PRIORITY REQUEST
  5786. STD CM+1
  5787. MONITOR RPPM REQUEST PP
  5788. LDD CM+1
  5789. ZJN RMD4 IF NO PP AVAILABLE
  5790. STM RMDB,T5
  5791. AOD T5
  5792. AOM RMDA+3 ADVANCE CONTROL POINT NUMBER
  5793. SBD NC
  5794. NJN RMD1 IF MORE CONTROL POINTS AVAILABLE
  5795.  
  5796. * AS PP-S COMPLETE, START THEM ON ANOTHER DEVICE.
  5797.  
  5798. RMD2 RJM GND GET NEXT DEVICE
  5799. RMD3 ZJN RMD5 IF NO MORE DEVICES
  5800. RMD4 RJM CRP CHECK RUNNING PP-S
  5801. LDD T6
  5802. STD CN+2
  5803. LDM RMDB,T1 TELL PP TO START NEXT DEVICE
  5804. CWD CN
  5805. UJN RMD2 LOOP
  5806.  
  5807. * AS PP-S FINISH, TELL THEM TO DROP.
  5808.  
  5809. RMD5 RJM CRP CHECK RUNNING PP-S
  5810. LDC 4000
  5811. STD CN+2
  5812. LDM RMDB,T1 TELL PP TO DROP
  5813. CWD CN
  5814. LDN 0 INDICATE THAT PP HAS DROPPED
  5815. STM RMDB,T1
  5816. AOD T4 INCREMENT COUNT OF DROPPED PP-S
  5817. LMD T5
  5818. NJN RMD5 IF PP-S STILL RUNNING
  5819. LDC MMFL
  5820. CRD CN READ MMF STATUS WORD
  5821. LDD CN+2
  5822. ZJN RMD6 IF DAT NOT INTERLOCKED
  5823. LDD DI
  5824. NJN RMD6 IF INITIALIZATION REQUESTS PENDING
  5825. STD CN+2
  5826. LDC MMFL CLEAR INTERLOCK STATUS
  5827. CWD CN
  5828. LCN DATI RELEASE FLAG REGISTER INTERLOCK
  5829. RJM IFR
  5830. RMD6 LDD CA EJT BASE ADDRESS
  5831. SHN 14
  5832. LMD CA+1
  5833. ADK DSEO*EJTE RESTORE DEADSTART EJT ENTRY SLOT
  5834. CWM RMDC,T3
  5835. LJM RMDX RETURN
  5836.  
  5837.  
  5838. RMDA VFD 18/3R1RF,6/0,12/0,12/1,12/0
  5839. RMDB BSSZ 20D-4 PP INPUT REGISTER LIST
  5840. RMDC BSS 5*EJTE EJT ENTRY SAVE AREA
  5841. CRP SPACE 4,10
  5842. ** CRP - CHECK RUNNING PP-S.
  5843. *
  5844. * EXIT (T1) = INDEX INTO PP TABLE.
  5845. * (T5) = ASSIGNED PP COUNT.
  5846. * (CN - CN+4) = CONTENTS OF PP INPUT REGISTER.
  5847. *
  5848. * USES T1, T2, FN - FN+4.
  5849.  
  5850.  
  5851. CRP SUBR ENTRY/EXIT
  5852. CRP1 LDN 0
  5853. STD T1
  5854. CRP2 LDM RMDB,T1
  5855. ZJN CRP3 IF PP HAS ALREADY DROPPED
  5856. CRD CN
  5857. LDD CN+2
  5858. ZJN CRPX IF PP DONE
  5859. CRP3 AOD T1
  5860. LMD T5
  5861. NJN CRP2 IF MORE PP-S TO CHECK
  5862. UJN CRP1 LOOP
  5863.  
  5864. GND SPACE 4,10
  5865. ** GND - GET NEXT DEVICE.
  5866. *
  5867. * ENTRY (T6) = ORDINAL OF LAST DEVICE PROCESSED.
  5868. *
  5869. * EXIT (A) = 0 IF NO MORE DEVICES.
  5870. * = (T6) = ORDINAL OF NEXT DEVICE TO PROCESS.
  5871. *
  5872. * USES FN - FN+4.
  5873.  
  5874.  
  5875. GND SUBR ENTRY/EXIT
  5876. GND1 AOD T6
  5877. LMD T7
  5878. ZJN GNDX IF END OF MASS STORAGE DEVICES
  5879. SFA EST,T6
  5880. ADK EQDE READ EST ENTRY
  5881. CRD FN
  5882. LDD FN CHECK DEVICE AVAILABILITY
  5883. SHN -6
  5884. LPN 41
  5885. LMN 40
  5886. NJN GND1 IF NOT AVAILABLE MS DEVICE
  5887. LDD FN
  5888. LPN 3
  5889. LMN DWES
  5890. ZJN GND1 IF DEVICE IS *DOWN*
  5891. LDD FN+4
  5892. SHN 3
  5893. ADK STLL FETCH LOCAL MST STATUS
  5894. CRD FN
  5895. LDD FN
  5896. SHN 22-LIAL+LIAL/12D*12D
  5897. LPN 1
  5898. RAD DI COUNT INITIALIZED DEVICES
  5899. LDD T6
  5900. UJP GNDX RETURN
  5901. SPACE 4,10
  5902. BUFM BSS 0 MESSAGE HOLDING BUFFER
  5903. SPACE 4,10
  5904. ** OVERFLOW CHECK.
  5905.  
  5906.  
  5907. ERRPL BUFM+5*3-10001 MESSAGE WRAPS PP MEMORY
  5908. TTL REC - SYSTEM RECOVERY PROCESSOR.
  5909. TTL REC - SYSTEM RECOVERY PROCESSOR.
  5910. SPACE 4,10
  5911. END
cdc/nos2.source/opl871/rec.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator