Table of Contents

1MC

Table Of Contents

  • [00007] 1MC - MONITOR PARITY ERROR REPORTING.
  • [00009] MONITOR PARITY ERROR REPORTING.
  • [00089] MACRO DEFINITIONS.
  • [00096] OVERLAY - GENERATE OVERLAY CONSTANTS.
  • [00122] MTC - BUFFER IN ERROR DATA.
  • [00124] MTC - MAIN PROGRAM.
  • [00156] MAIN ROUTINE.
  • [00233] SUBROUTINES.
  • [00235] DUE - DISABLE USER ECS.
  • [00279] IBM - ISSUE BML MESSAGE.

Source Code

1MC.txt
  1. IDENT 1MC,MTC
  2. PERIPH
  3. BASE MIXED
  4. SST
  5. *COMMENT 1MC - MONITOR PARITY ERROR REPORTING.
  6. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  7. TITLE 1MC - MONITOR PARITY ERROR REPORTING.
  8. SPACE 4
  9. *** 1MC - MONITOR PARITY ERROR REPORTING.
  10. * W. E. GOEBEL 75/08/25.
  11. SPACE 4
  12. *** *1MC* IS CALLED BY *CPUMTR* TO REPORT ECS PARITY
  13. * ERRORS. *1MC* IS FORCED CM RESIDENT BY *SLL* WHEN ECS
  14. * IS PRESENT. THIS IS NEEDED BECAUSE *1MC* CAN BE CALLED
  15. * DIRECTLY BY *CPUMTR* MONITOR MODE. IN THIS CASE *CPUMTR*
  16. * IS WAITING FOR *1MC* TO INDICATE IT IS READY TO RECIEVE
  17. * DATA. BECAUSE OF THIS *1MC* MUST NOT DEPEND UPON ISSUING
  18. * ANY MONITOR FUNCTION TO LOAD. THUS THE CM RESIDENCE
  19. * REQUIREMENT.
  20. * *1MC* PERFORMS THE BUFFERING IN OF ERROR DATA AND
  21. * THEN CALLS *2MN* TO FORMAT AND ISSUE THE ACTUAL ERROR
  22. * MESSAGES. THIS IS TO KEEP THE CM REQUIREMENT OF *1MC* AT
  23. * A MINIMUM. IT SHOULD BE NOTED THAT *2MN* SHOULD NEVER
  24. * BE ECS RESIDENT.
  25. SPACE 4
  26. *** CALL.
  27. *
  28. *
  29. *T IR 18/ *1MC*,6/ SCP,12/ EST,6/ RW,18/ WC
  30. * SCP SYSTEM CONTROL POINT NUMBER.
  31. * EST EXTENDED MEMORY EST ORDINAL.
  32. * RW READ / WRITE FLAG.
  33. * 1 = READ
  34. * 2 = WRITE
  35. * WC WORD COUNT OF BLOCK TRANSFER.
  36. *
  37. *T,MB 36/, 24/ CB
  38. * CB COMMUNICATIONS BUFFER ADDRESS.
  39. *
  40. * ECS ERROR INFORMATION IS BUFFERED FROM *CPUMTR* VIA A
  41. * COMMUNICATIONS BUFFER. IT IS *1MC*-S RESPONSIBILITY TO
  42. * CLEAR THE BUFFER INTERLOCK AFTER IT READS THE DATA.
  43. * THIS BUFFER HAS THE FOLLOWING FORMAT -
  44. *
  45. *T,CB 1/ C, 47/ ,12/ IL
  46. *T,CB+1 6/, 6/ CD, 6/ RT, 18/ CMA, 24/ ECA
  47. *T,CB+2 60/ BAD DATA
  48. *T,CB+3 60/ GOOD DATA
  49. * .
  50. * .
  51. * .
  52. *T,CB+N 60/0
  53. *
  54. * C COMPLETE FLAG (SIGNALS *1MC* TO READ DATA).
  55. * IL BUFFER INTERLOCK (NON-ZERO WHEN SET).
  56. * CD 3/, 1/ RU, 1/ BD, 1/ GD
  57. * RU = RECOVERED / UNRECOVERED FLAG.
  58. * 0 = RECOVERED
  59. * 1 = UNRECOVERED
  60. * BD = 1 IF BAD DATA PRESENT.
  61. * GD = 1 IF GOOD DATA PRESENT.
  62. * RT RETRY COUNT.
  63. * CMA CM ADDRESS OF TRANSFER.
  64. * ECA ECS ADDRESS OF TRANSFER.
  65. *
  66. * THE ERROR DATA IS TERMINATED BY A ZERO WORD.
  67. SPACE 4
  68. *** OPERATOR MESSAGES.
  69. *
  70. *
  71. * * USER ECS DISABLED.* DUE TO UNRECOVERED ECS PARITY
  72. * ERRORS SCHEDULING OF USER ECS JOBS HAS
  73. * BEEN DISABLED.
  74. SPACE 4
  75. *CALL COMPMAC
  76. *CALL COMSCPS
  77. *CALL COMSDFS
  78. *CALL COMSEVT
  79. *CALL COMSMSC
  80. *CALL COMSMSP
  81. *CALL COMSPIM
  82. SPACE 4
  83. ** DIRECT LOCATION ASSIGNMENTS.
  84.  
  85.  
  86. ZR EQU 20 - 24 ZERO WORD
  87. BP EQU 25 BUFFER POINTER
  88. CN EQU 30 RECOVERED/UNRECOVERED FLAG
  89. TITLE MACRO DEFINITIONS.
  90. SPACE 4,10
  91. ** OVERLAY CONTROL.
  92.  
  93. .N SET 0
  94. OVLB MICRO 1,, 2M BASE OVERLAY NAME
  95. OVERLAY SPACE 4,10
  96. ** OVERLAY - GENERATE OVERLAY CONSTANTS.
  97. *
  98. *
  99. * OVERLAY (TEXT),LADDR
  100. *
  101. * ENTRY *TEXT* = TEXT OF SUBTITLES.
  102. * *LADDR* = LOAD ADDRESS FOR OVERLAY, DEFAULT OVL.
  103.  
  104.  
  105. PURGMAC OVERLAY
  106.  
  107. OVERLAY MACRO TEXT,OVL
  108. MACREF OVERLAY
  109. QUAL
  110. .N SET .N+1
  111. .M MICRO .N,1, NOPQRSTUVWXYZ
  112. .O MICRO 1,3, "OVLB"".M"
  113. QUAL ".O"
  114. TTL 1MC/".O" - TEXT
  115. TITLE
  116. IDENT ".O",OVL TEXT
  117. *COMMENT 1MC - TEXT
  118. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  119. ORG OVL
  120. ENDM
  121. SPACE 4
  122. TITLE MTC - BUFFER IN ERROR DATA.
  123. MTC SPACE 4
  124. ** MTC - MAIN PROGRAM.
  125.  
  126.  
  127. ORG PPFW
  128.  
  129. MTC LDD MP+3 ASSEMBLE BUFFER ADDRESS
  130. RAM MTCA-1
  131. STM MTCB-1
  132. LDD MP+4
  133. STM MTCA
  134. STM MTCB
  135. LDN ZERL SET ZERO WORD
  136. CRD ZR
  137. LDN MCBL BUFFER LENGTH
  138. STD T1
  139. MTC1 LDC ** READ BUFFER
  140. MTCA EQU *-1 COMMUNICATIONS BUFFER ADDRESS
  141. CRM BUF,T1
  142. LDM BUF
  143. SHN 21-13
  144. PJN MTC1 IF BUFFER NOT COMPLETE
  145. LDC ** CLEAR BUFFER INTERLOCK
  146. MTCB EQU *-1 COMMUNICATIONS BUFFER ADDRESS
  147. CWD ZR
  148. EXECUTE 2MN
  149. SPACE 4
  150. OVL EQU PPFW
  151. BUF EQU PPFW-5+500*2 ALLOW TWO SECTORS FOR *2MN*
  152. BUFL EQU MCBL*5 BUFFER LENGTH
  153. MXBL EQU EPFW-5*3+1 MAXIMUM BUFFER LENGTH
  154. ERRNG MXBL-BUF-BUFL CHECK BUFFER OVERFLOW
  155. TTL 1MC/2MC - PROCESS ERROR DATA.
  156. TITLE MAIN ROUTINE.
  157. OVERLAY (PROCESS ERROR DATA.),OVL
  158. SPACE 4
  159. *** 2MN - REPORT PARITY ERRORS.
  160.  
  161.  
  162.  
  163. PEM LJM * ENTRY
  164.  
  165. * SET UP THOSE FIELDS IN THE BML MESSAGE WHICH ARE CONSTANT
  166. * FOR ALL ERRORS.
  167.  
  168. LDN PARE SET ERROR CODE
  169. STM MSGA+12
  170. LDC /COMSDFS/HS0040+/COMSDFS/D1MC*400
  171. STM MSGA+1
  172. LDK MMFL ADD MACHINE ID TO MESSAGE
  173. CRD CM
  174. LDD CM
  175. STM MSGA+10
  176. LDD IR+2 ADD EST ORDINAL TO MESSAGE
  177. STM MSGA+5
  178.  
  179. * DETERMINE THE MESSAGE ID WHICH CORRESPONDS WITH THIS DEVICE
  180. * AND ADD IT TO THE BML MESSAGE HEADER.
  181.  
  182. SFA EST GET EST ENTRY FOR DEVICE
  183. ADK EQDE
  184. CRD CM
  185. LDD CM+4 GET WORD *DILL* FROM THE MST
  186. SHN 3
  187. ADK DILL
  188. CRD CM
  189. LDN PEMBL
  190. STD T1
  191. PEM1 LCN 2 SCAN TABLE FOR A MATCH
  192. RAD T1
  193. ZJN PEM2 IF DEVICE NOT FOUND IN TABLE
  194. LDM PEMB-2,T1
  195. LMD CM+3
  196. LPC 707
  197. NJN PEM1 IF A MATCH HAS NOT YET BEEN FOUND
  198. LDM PEMB-1,T1
  199. PEM2 STM MSGA+0 ADD MESSAGE ID TO MESSAGE
  200.  
  201. * FOR EACH ERROR IN THE BUFFER, ISSUE A BML ERROR MESSAGE.
  202.  
  203. LDC BUF+5
  204. STD BP SET BUFFER POINTER
  205. LDN ZERL SET END OF DATA
  206. CRM BUF+MCBL*5,ON
  207. PEM3 LDM 1,BP CHECK FOR END OF BUFFER
  208. ZJN PEM4 IF NO MORE MESSAGES IN BUFFER
  209. RJM IBM ISSUE BML MESSAGE
  210. LDN 3*5 ADVANCE POINTER TO NEXT ERROR IN BUFFER
  211. RAD BP
  212. UJN PEM3 CHECK FOR ANOTHER MESSAGE
  213.  
  214. PEM4 MONITOR DPPM
  215. LJM PPR RETURN TO PP RESIDENT
  216.  
  217.  
  218. MSGA BSSZ 6*5 BML MESSAGE BUFFER
  219. SPACE 4,10
  220. PEMB BSS 0 TABLE OF MESSAGE IDENTIFERS
  221.  
  222. CON 112,/COMSDFS/RM0070 (DP) ECS I - DC135 DDP
  223. CON 110,/COMSDFS/RM0071 (DE) ECS I - COUPLER
  224. CON 212,/COMSDFS/RM0072 (DP) ECS II - DC135 DDP
  225. CON 210,/COMSDFS/RM0073 (DE) ECS II - COUPLER
  226. CON 111,/COMSDFS/RM0074 (DP) ECS I - DC145 DDP
  227. CON 211,/COMSDFS/RM0075 (DP) ECS II - DC145 DDP
  228. CON 320,/COMSDFS/RM0076 (DE) LCME - COUPLER
  229. CON 510,/COMSDFS/RM0207 (DE) ESM - COUPLER
  230. CON 511,/COMSDFS/RM0210 (DP) ESM - LOW SPEED PORT
  231.  
  232. PEMBL EQU *-PEMB+2 MESSAGE ID TABLE LENGTH
  233. TITLE SUBROUTINES.
  234. DUE SPACE 4,15
  235. ** DUE - DISABLE USER ECS.
  236. *
  237. * USES CM - CM+4.
  238. *
  239. * MACROS MONITOR.
  240.  
  241.  
  242. DUE SUBR ENTRY/EXIT
  243. LDN ECRL
  244. CRD CM
  245. LDD CM+1
  246. SBD CM+4
  247. ZJN DUEX IF USER ECS NOT DEFINED
  248. LDK UEML
  249. CRD CM
  250. LDD CM+2
  251. LMD IR+2
  252. LPC 777
  253. NJN DUEX IF NOT USER ECS EQUIPMENT
  254. LDN SSTL
  255. CRD CM
  256. LDD CM
  257. SHN 21-5
  258. MJN DUEX IF ECS ALREADY DISABLED
  259. LDN 40
  260. RAD CM
  261. LDN SSTL
  262. CWD CM
  263. LDN NCPL WRITE MESSAGE AT SYSTEM CP
  264. CRD CM
  265. AOD CM+1
  266. SHN 7
  267. ADN MS2W
  268. CWM DUEA,TR
  269. LDN ZERL ISSUE USER *ECS* DISABLED EVENT
  270. CRD CM
  271. LDN UEDE
  272. STD CM+4
  273. MONITOR EATM
  274. LJM DUEX RETURN
  275.  
  276.  
  277. DUEA DATA C* USER ECS DISABLED. *
  278. IBM SPACE 4,10
  279. ** IBM - ISSUE BML MESSAGE.
  280. *
  281. * USES CM - CM+4, IR+3 - IR+4, BP, CN.
  282. *
  283. * CALLS DFM, DUE.
  284. *
  285. * MACROS MONITOR.
  286.  
  287.  
  288. IBM SUBR ENTRY/EXIT
  289. LDD IR+3 ADD READ/WRITE FLAG TO MESSAGE
  290. SHN -6
  291. LPN 2
  292. STM MSGA+6
  293. LDM 1,BP ADD RETRY COUNT TO MESSAGE
  294. SCN 77
  295. RAM MSGA+6
  296. LDM 3,BP ADD ECS ADDRESS TO MESSAGE
  297. STM MSGA+22
  298. LDM 4,BP
  299. STM MSGA+23
  300. LDM 1,BP ADD CM ADDRESS TO MESSAGE
  301. LPN 77
  302. STM MSGA+15
  303. LDM 2,BP
  304. STM MSGA+16
  305.  
  306. * SET RECOVERED/UNRECOVERED STATUS.
  307.  
  308. LDI BP
  309. LPN 4
  310. ZJN IBM1 IF ERROR WAS RECOVERED
  311. RJM DUE DISABLE USER ECS
  312. LDN 1 SET ERROR UNRECOVERED
  313. IBM1 RAM MSGA+6
  314.  
  315. * ADD WORD COUNT TO MESSAGE. IF GOOD OR BAD DATA WAS PASSED
  316. * ALONG WITH THE OTHER ERROR DATA, THE WORD COUNT USED IS ONE,
  317. * BECAUSE THE ERROR REFERS TO AN ACTUAL ADDRESS. IF NO
  318. * GOOD/BAD DATA WAS PASSED, THE GIVEN WORD COUNT IS USED,
  319. * INDICATING THAT THE ERROR OCCURRED SOMEWHERE WITHIN THAT
  320. * WORD COUNT RANGE. THIS OCCURS WHEN *CPUMTR* RECOVERS AN
  321. * ERROR BUT IS UNABLE TO DETERMINE THE EXACT ADDRESS WHICH
  322. * CAUSED THE HALF EXIT.
  323.  
  324. LDI BP
  325. LPN 3
  326. NJN IBM2 IF GOOD OR BAD DATA WAS PASSED
  327. LDD IR+3
  328. LPN 77
  329. SHN 14
  330. LMD IR+4
  331. UJN IBM3 ADD WORD COUNT
  332.  
  333. IBM2 LDN 1
  334. IBM3 STM MSGA+21
  335. SHN -14
  336. STM MSGA+20
  337.  
  338. * ADD GOOD AND BAD DATA TO MESSAGE.
  339.  
  340. LDC MSGA+24
  341. STM IBMC
  342. LDD BP
  343. ADN 5
  344. STM IBMA
  345. ADN 5
  346. STM IBMB
  347. LDI BP CHECK FOR BAD DATA
  348. LPN 2
  349. SHN -1
  350. STM MSGA+17
  351. ZJN IBM4 IF NO BAD DATA
  352. LDD MA
  353. CWM **,ON
  354. IBMA EQU *-1
  355. SBN 1
  356. CRM MSGA+24,ON
  357. IBM4 LDI BP CHECK FOR GOOD DATA
  358. LPN 1
  359. ZJN IBM6 IF NO GOOD DATA
  360. LMI BP
  361. LPN 3
  362. ZJN IBM5 IF ONLY GOOD DATA
  363. LDN 5
  364. RAM IBMC
  365. LDN 2
  366. IBM5 LMN 1
  367. STM MSGA+17
  368. LDD MA
  369. CWM IBMB,ON
  370. IBMB EQU *-1
  371. SBN 1
  372. CRM MSGA+24,ON
  373. * CRM MSGA+31,ON
  374. IBMC EQU *-1
  375. IBM6 LDN 6*5 SET BML MESSAGE LENGTH
  376. STD CM+1
  377. LDC MSGA+BMLN ISSUE BML MESSAGE
  378. RJM DFM
  379.  
  380. * IF THE ERROR IS UNRECOVERED, ISSUE A MESSAGE TO THE ERRLOG
  381. * AND TO THE SYSTEM AND JOB DAYFILES INDICATING THE TYPE OF
  382. * ERROR AND THE DEVICE ON WHICH THE ERROR OCCURRED.
  383.  
  384. LDM MSGA+6
  385. LPN 1
  386. STD CN
  387. ZJN IBM7 IF RECOVERED ERROR
  388. LDD IR+2
  389. SHN -3
  390. RJM C2D
  391. STM IBMG+1
  392. LDD IR+2 SET EST ORDINAL IN DAYFILE MESSAGE
  393. LPN 7
  394. SHN 6
  395. ADC 2R0
  396. STM IBMG+2
  397. LDC IBMG ISSUE SYSTEM AND DAYFILE MESSAGES
  398. RJM DFM
  399. LDC IBMG+ERLN ISSUE ERRLOG MESSAGE
  400. RJM DFM
  401.  
  402. * INCREMENT THE RECOVERED OR UNRECOVERED ERROR COUNTER IN THE
  403. * MST FOR THE CURRENT DEVICE.
  404.  
  405. IBM7 LDD CN SET BYTE NUMBER
  406. ADN 3
  407. STD CM+2
  408. LDD IR+2 SET EST ORDINAL
  409. STD CM+1
  410. LDK ICTS SET SUBFUNCTION
  411. STD CM+3
  412. MONITOR SMDM INCREMENT ERROR COUNTER
  413. LJM IBMX RETURN
  414.  
  415.  
  416. IBMG DATA C*EQ000 PE MASS STORAGE ERROR.*
  417. SPACE 4,10
  418. * COMMON DECKS.
  419.  
  420.  
  421. *CALL COMPC2D
  422.  
  423. ERRPL *-BUF OVERLAY OVERFLOWS BUFFER
  424.  
  425. END