Table of Contents

DMKMCH Source

References

Source Listing

DMKMCH.ASSEMBLE.txt
  1. MCH TITLE 'DMKMCH (CP) VM/370 - RELEASE 6' 00001000
  2. ISEQ 73,80 VALIDATE SEQUENCEING OF INPUT @V200820 00002000
  3. *. 00003000
  4. * MODULE NAME - 00004000
  5. * 00005000
  6. * DMKMCH 00006000
  7. * 00007000
  8. *FUNCTION - 00008000
  9. * 00009000
  10. * THE FUNCTION OF THIS ROUTINE IS TO DETERMINE THE SEVERITY OF 00010000
  11. * A MACHINE CHECK AND ATTEMPT TO CORRECT THE MALFUNCTION. 00011000
  12. * DIAGNOSTIC MESSAGES FOR THE SYSTEM OPERATOR, AND ERROR DATA 00012000
  13. * FOR THE F.E. PERSONNEL USE WILL BE PRODUCED AS OUTPUT. 00013000
  14. * 00014000
  15. *ATTRIBUTES - 00015000
  16. * 00016000
  17. * RESIDENT,ENTERED DIRECTLY VIA MC NEW PSW 00017000
  18. * 00018000
  19. *ENTRY POINTS- 00019000
  20. * 00020000
  21. * 00021000
  22. * DMKMCHIN - PROCESS A MCH INTERRUPT 00022000
  23. * 00023000
  24. * DMKMCHST - TERMINATE THE SYSTEM 00027000
  25. * 00028000
  26. * DMKMCHSE - CONTINUE PROCESSING SOFT ERRORS WITH SYSTEM LOCK 00029000
  27. * 00030000
  28. * 00031000
  29. *ENTRY CONDITIONS - 00032000
  30. * 00033000
  31. * NONE 00034000
  32. * 00035000
  33. *EXIT CONDITIONS- 00036000
  34. * 00037000
  35. * - RETURN TO INTERRUPTED PROGRAM ON OCCURANCE OF SOFT MACHINE 00038000
  36. * CHECK (AFTER RECORDING) 00039000
  37. * 00040000
  38. * - DISABLED WAIT STATE ON ERRORS THAT CAUSE SYSTEM TERMINATION 00041000
  39. * 00042000
  40. * - TO DISPATCH ON ALL OTHER CONDITIONS 00043000
  41. * 00044000
  42. *CALLS TO OTHER ROUTINES - 00045000
  43. * 00046000
  44. * DMKIOEMC - TO RECORD FORMATTED MACHINE CHECK RECORDS 00047000
  45. * GPR6 = FORMATTED MACHINE CHECK RECORD ADDRESS 00048000
  46. * GPR7 = LENGTH OF MACHINE CHECK RECORD 00049000
  47. * DMKQCNWT - TO SEND MESSAGES TO A VIRTUAL MACHINE AND THE 00050000
  48. * SYSTEM OPERATOR 00051000
  49. * DMKPTRFT - TO PURGE DEFECTIVE PAGE IN STORAGE 00052000
  50. * DMKFREE - TO GET STORAGE FOR CPEXBLOKS 00053000
  51. * DMKSTKOP - TO STACK A CPEXBLOK FOR THE OTHER PROCESSOR 00054000
  52. * DMKPGSPO - TO RELEASE USER'S VIRTUAL STORAGE 00055000
  53. * DMKCFMBK - TO PUT USER IN CONSOLE FUNCTION MODE 00056000
  54. * DMKCFPRR - TO RESET VIRTUAL MACHINE 00057000
  55. * DMKOPRWT - TO WRITE EMERGENCY MESSAGE TO SYSTEM OPERATOR 00058000
  56. * DMKMCTPT - TERMINATE THE AILING PROCESSOR 00062000
  57. * DMKMCTST - TERMINATE THE SYSTEM 00063000
  58. * 00064000
  59. *EXTERNAL REFRENCES 00065000
  60. * PSA FIELDS 00066000
  61. * CPPTLBR - PTLB REQUIRED 00067000
  62. * CPMCHLK - UNSTACK FIRST PROCESSOR DEPENDENT BLOCK, DONOT 00068000
  63. * DISPATCH ANY OTHER WORK. 00069000
  64. * PREFIXA - ADDRESS OF PREFIX REGISTER FOR CURRENT PROCESSOR 00070000
  65. * RECMODE - RECORDING MODE FOR THIS PROCESSOR 00071000
  66. * INTRC - EXTERNAL DAMAGE REASON CODE 00071100
  67. * 00072000
  68. *TABLES AND WORK AREAS - 00073000
  69. * 00074000
  70. * CORETABLE, PAGTABLE, SWPTABLE, PSA 00075000
  71. * MCHAREA,MCRECORD,VMBLOK 00076000
  72. * 00077000
  73. *MACROS - 00078000
  74. * 00079000
  75. * LOCK OBTAIN,TYPE=SYS,SPIN=NO 00080000
  76. * 00081000
  77. * SIGNAL 00082000
  78. * STOP 00083000
  79. * START 00084000
  80. * 00085000
  81. * CALL NAME,AFFINITY 00086000
  82. * 00087000
  83. *REGISTER USEAGE _ 00088000
  84. * 00089000
  85. * GPR0-11 = SCRATCH 00090000
  86. * 12 = MCH BASE 00091000
  87. * 13 = SCRATCH 00092000
  88. * 14 = LINKAGE 00093000
  89. * 15 = LINKAGE 00094000
  90. * 00095000
  91. *NOTES - 00096000
  92. * WILL SUPPORT SYSTEM/370 MODEL 135, 135-3, 138, 145, 145-3, 00097000
  93. * 148, 155-2, 158, 158-2, 165-2, 168, AND 3033, 3032 AND 00098100
  94. * 3031, AND THE 4331 AND 4341 PROCESSORS. 00098200
  95. * 00099000
  96. *OPERATION - 00100000
  97. * 00101000
  98. * DMKMCHIN 00102000
  99. * 1. RECEIVES CONTROL WHEN A MACHINE CHECK INTERRUPT CAUSES THE 00103000
  100. * MC NEW PSW TO BE LOADED 00104000
  101. * 00105000
  102. * 2. INITALLY DISABLES BOTH HARD AND SOFT MACHINE CHECKS WHILE 00106000
  103. * DETERMINING THE SEVERITY OF THE ERROR. WHEN IT IS DETERMINED 00107000
  104. * THAT THE ERROR IS NOT ONE THAT REQUIRES SYSTEM TERMINATION 00108000
  105. * THEN HARD MACHINE CHECK INTERRUPTS WILL BE RE-ENABLED. 00109000
  106. * 00110000
  107. * 3. IF THE ERROR IS ONE THAT SHOULD TERMINATE SYSTEM OPERATION, 00111000
  108. * AND THE SYSTEM IS IN ATTACHED PROCESSOR MODE, CONTROL WILL 00112000
  109. * BE GIVEN TO DMKMCTPT, THE PROCESSOR TERMINATION ROUTINE FOR 00113000
  110. * ATTACHED PROCESSING. FOR UNIPROCESSING MODE, 00114000
  111. * A DIRECT I/O OPERATION TO THE SYSTEM OPERATOR INFORMING 00115000
  112. * HIM OF THE FAILURE, AND RECOMMENDED ACTION TO BE PERFORMED 00116000
  113. * WILL BE DONE IF CONSOLE IS ACCESSABLE, FOLLOWED BY DMKMCH 00117000
  114. * PLACING THE SYSTEM IN A DISABLED WAIT STATE. 00118000
  115. * IF THE ERROR AFFECTS ONLY THE VIRTUAL USER, THE ERROR WILL 00119000
  116. * BE RECORDED AND A MESSAGE WILL BE SENT TO THE AFFECTED USER. 00120000
  117. * THE VIRTUAL MACHINE WILL BE RESET AND PLACED IN 00121000
  118. * CP CONSOLE FUNCTION MODE. THE VIRTUAL= REAL USER 00122000
  119. * WILL BE TERMINATED AND LOGGED OFF IF A STORAGE ERROR 00123000
  120. * HAS OCCURRED. 00124000
  121. * 00125000
  122. * 4. BEFORE ANY SYSTEM FUNCTIONS ARE USED, THE MACHINE CHECK 00126000
  123. * HANDLER WILL ATTEMPT TO GET THE GLOBAL SYSTEM LOCK. IF THE 00127000
  124. * LOCK IS UNAVAILABLE, CPMCHLK WILL BE SET TO ALLOW PROCESSING 00128000
  125. * TO CONTINUE WHEN THE LOCK IS AVAILABLE. DMKMCHSE WILL RECEIVE 00129000
  126. * CONTROL FROM THE DISPATCHER WHEN CPMCHLK IS ON. 00130000
  127. * IF ANY MACHINE CHECKS OCCUR DURING THIS PROCESSING, THEY 00131000
  128. * WILL BE VIEWED AS RECURSIVE MACHINE CHECKS. 00132000
  129. * CPMCHLK PREVENTS THE DISPATCHER FROM DISPATCHING ANY 00133000
  130. * NEW WORK FOR THAT PROCESSOR UNTIL THE MACHINE CHECK 00134000
  131. * INTERRUPT IS HANDLED. 00135000
  132. * 00136000
  133. * 00137000
  134. * 5. ON SOFT ERRORS THE SYSTEM OPERATOR WILL BE INFORMED, A TEST 00138000
  135. * WILL BE MADE TO DETERMINE IF ANY SOFT ERROR THRESHOLDS HAVE 00139000
  136. * BEEN EXCEEDED, THE ERROR WILL BE RECORDED, AND CONTROL WILL 00140000
  137. * BE RETURNED TO THE INTERRUPTED PROGRAM. 00141000
  138. * 00142000
  139. * 6. ON SPF AND MULTI-BIT ECC ERRORS AN ANALYSIS WILL BE MADE TO 00143000
  140. * DETERMINE IF THE DAMAGE CAN BE REFRESHED OR NOT. ADDITIONALLY 00144000
  141. * A FUNCTIONAL TEST OF THE FAILING FRAME OF STORAGE WILL BE 00145000
  142. * PERFORMED TO DETERMINE IF THAT FRAME SHOULD BE REMOVED FROM 00146000
  143. * SYSTEMS USE. 00147000
  144. * 00148000
  145. * 7. A THRESHOLD COUNT FOR ALL SOFT MACHINE CHECKS WILL 00149000
  146. * BE KEPT AND WHEN THE THRESHOLD COUNT EXCEED THE 00150000
  147. * MAX. VALUE, THE SOFT MACHINE CHECKS WILL BE DISABLE 00151000
  148. * FOR SOFT INTERRUPTS FOR BOTH PROCESSORS. 00152000
  149. * 00153000
  150. * 8. THE SYSTEM OPERATOR WILL BE INFORMED OF ANYTIME 00154000
  151. * THE MACHINE IS DISABLED FOR SOFT MACHINE CHECKS. 00155000
  152. * 00156000
  153. *MESSAGES - 00163000
  154. * 00164000
  155. * DMKMCH610I MACHINE CHECK; SUPERVISOR DAMAGE CPUID 00165000
  156. * 00166000
  157. * DMKMCH611I MACHINE CHECK; SYSTEM INTEGRITY LOST CPUID 00167000
  158. * 00168000
  159. * DMKMCH612W MACHINE CHECK; TIMING FACILITIES DAMAGE CPUID 00169000
  160. * 00170000
  161. * DMKMCH613I SOFT MACHINE CHECK RECORDING DISABLED CPUID 00171000
  162. * 00172000
  163. * DMKMCH614I MACHINE CHECK; DAMAGED PAGE NOW DELETED CPUID 00173000
  164. * 00174000
  165. * DMKMCH615I MACHINE CHECK RECORDING FAILURE CPUID 00175000
  166. * 00176000
  167. * DMKMCH616I MACHINE CHECK; USER XXXXXXXX TERMINATED CPUID 00177000
  168. * 00178000
  169. * DMKMCH617I MACHINE CHECK; BUFFER OR DLAT DAMAGE CPUID 00179000
  170. * 00180000
  171. * DMKMCH619I MACHINE CHECK; OPERATION TERMINATED CPUID 00184000
  172. * 00185000
  173. * DMKMCH622W MACHINE CHECK; MULTIPLE CHANNEL ERRORS 00185100
  174. * 00185200
  175. * WAIT STATE CODES 00190000
  176. * 00191000
  177. * 001 - UNRECOVERABLE ERROR ON MAIN PROCESSOR 00192000
  178. * 00193000
  179. *. 00194000
  180. EJECT 00195000
  181. COPY OPTIONS 00196000
  182. COPY LOCAL 00197000
  183. SPACE 3 00198000
  184. DMKMCH START 00199000
  185. SPACE 00200000
  186. ENTRY DMKMCHIN 00201000
  187. ENTRY DMKMCHSE SOFT ERROR RETURN FROM DMKDSPCH @V407510 00202000
  188. ENTRY DMKMCHST SYSTEM TERMINATION @V407510 00203000
  189. ENTRY DMKMCHLM COUNT FIELD FOR SOFT ERRORS @VA10453 00203100
  190. SPACE 00204000
  191. EXTRN DMKIOEMC 00205000
  192. EXTRN DMKQCNWT 00207000
  193. EXTRN DMKOPRWT @V200820 00208000
  194. EXTRN DMKPTRFT 00212000
  195. EXTRN DMKPGSPO 00213000
  196. EXTRN DMKCFPRR @V200820 00214000
  197. EXTRN DMKCFMBK 00215000
  198. EXTRN DMKSTKOP @V407510 00219000
  199. AIF (NOT &AP).MCTST4 00220900
  200. EXTRN DMKMCTST @V407510 00221000
  201. EXTRN DMKMCTPT @V407510 00222000
  202. EXTRN DMKDSPRU @V407510 00223000
  203. .MCTST4 ANOP 00223100
  204. SPACE 00224000
  205. USING *,R12 SETUP ADDRESSABILITY FOR MCH HANDLER 00225000
  206. USING MCHAREA,R9 SETUP ADDRESSABILITY FOR @V407510 00226000
  207. * MCH COMMUNICATION AREA @V407510 00227000
  208. USING MCRECORD,R8 SETUP ADDRESSABILITY FOR @V407510 00228000
  209. * MCH RECORD @V407510 00229000
  210. USING VMBLOK,R11 SETUP ADDRESSABILITY FOR USER VMBLOK 00230000
  211. USING SAVEAREA,R13 SETUP ADDRESSABILITY FOR SAVE AREA 00231000
  212. USING CORTABLE,R10 SETUP ADDRESSABILITY FOR CORTABLE 00232000
  213. USING PSA,R0 SETUP ADDRESSABILITY FOR PSA AREA 00233000
  214. SPACE 00234000
  215. EJECT 00235000
  216. DMKMCHIN DS 0D 00236000
  217. LM R0,R15,C0 CLEAR BAD PARITY IN GENERAL REGISTERS 00237000
  218. BALR R15,R0 SETUP ADDRESSABILITY FOR M. C. HANDLER 00238000
  219. USING *,R15 MACHINE CHECK HANDLER 00239000
  220. L R12,MCHBASE GET COMMON BASE REGISTER FOR MCH @V407510 00240000
  221. DROP R15 DROP ORIGINAL BASE REGISTER 00241000
  222. USING DMKMCH,R12 SETUP ADDRESSABILITY FOR M. C. HANDLER 00242000
  223. L R9,AMCHAREA GET THE ADDRESS OF MCHAREA @V407510 00243000
  224. L R8,MCHREC GET ADDRESS OF MCH RECORD @V407510 00244000
  225. XC MCHRESEV(MCHLEN),MCHRESEV CLEAR THE MCHAREA @V407510 00245000
  226. LCTL R14,R14,CR14MSK DISABLE SOFT MACHINE CHECKS 00246000
  227. LCTL R8,R8,CPCREG8 REFLECT CP MONITOR CALL MASK @VA06356 00247000
  228. MVC MCFXDLOG(256),FLA SAVE THE INDEPENDENT LOGOUT AREA 00248000
  229. MVC MCFXDLOG+256(24),FLA+256 00249000
  230. MVC MCOLDPW(8),MCOPSW SAVE MACHINE CHECK OLD PSW 00250000
  231. MVC MCNPSW(8),STGSVE SETUP SECONDARY M.C. HANDLER 00251000
  232. LPSW HARDPSW ENABLE HARD MACHINE CHECKS 00252000
  233. ENBHARD EQU * 00253000
  234. NI APSTAT2,OFF-CPPTLBR TURN OFF PTLB PENDING @V407510 00255000
  235. * FOR THIS PROCESSOR @V407510 00256000
  236. PTLB PURGE TLB @VA07615 00256100
  237. TM APSTAT1,APUOPER IN AP MODE? @V407510 00257000
  238. BZ CLEAR NO, GO TO CLEAR MCHAREA @V407510 00258000
  239. L R7,PREFIXB GET PREFIX ADDR FOR OTHER @V407510 00259000
  240. * PROCESSOR @V407510 00260000
  241. OI APSTAT2-PSA(R7),CPPTLBR INDICATE PTLB TO BE @V407510 00261000
  242. * DONE FOR OTHER PROCESSOR @V407510 00262000
  243. CLEAR DS 0H @V407510 00263000
  244. XC MCHRESEV(MCHLEN),MCHRESEV CLEAR THE M.C.H. FLAGS 00264000
  245. L R13,MCFXDLOG+204 GET THE ADDRESS OF THE SAVE AREA 00265000
  246. LCTL R0,R0,CPCREG0 GET CONTROL REGISTER 0 @VM08879 00266000
  247. MVC QUANTUMR,TIMER SAVE LOCATION 80 TIMER @VM08879 00267000
  248. L R11,ASYSVM GET ADDRESS OF SYSTEM'S VMBLOK @VM08879 00268000
  249. TM MCOPSW+CMWP,PROBMODE SYSTEM IN PROBLEM STATE? @V4M0144 00269000
  250. BZ CHKWAIT NO, CHECK FOR WAIT STATE @V4M0144 00270000
  251. OI MCHFLAG7,MCH7OPSW SET VIRTUAL USER FLAG @VM08879 00271000
  252. L R11,RUNUSER GET ADDRESS OF USER'S VMBLOK @VM08879 00272000
  253. MVC VMTMOUTQ(8),XD8 GET THE CPU TIMER VALUE @VM08879 00273000
  254. MVC VMGPRS(64),MCFXDLOG+152 SAVE THE USER'S REGISTERS 00274000
  255. MVC VMFPRS(32),MCFXDLOG+120 SAVE FLOATING POINT REGISTERS 00275000
  256. MVC VMPSW+4(4),MCOPSW+4 MOVE ADDR. OF MC OLD PSW @VA01435 00276000
  257. * IN VMBLOK 00277000
  258. IC R1,MCOPSW+2 GET CONDITION CODE & PROGRAM MASK@VA01435 00278000
  259. TM VMESTAT,VMEXTCM IS VIRTUAL MACHINE IN EC MODE @VA01435 00279000
  260. BZ VMNONDI1 NO, BYPASS BC MODE HANDLING @VA01435 00280000
  261. STC R1,VMPSW+2 SAVE CONDITION CODE & PROGRAM @VA01435 00281000
  262. * MASK 00282000
  263. B VMNONDIS SET VIRTUAL USER NON-DISPATCHABLE@VA01435 00283000
  264. CHKWAIT DS 0H @V407510 00284000
  265. CLI CPSTATUS,CPWAIT SYSTEM IN WAIT STATE? @V4M0144 00285000
  266. BNE MCHSYSIL NO, SET UP TRACE ENTRY @V4M0175 00286000
  267. MVC WAITEND,XD8 STORE CPU TIMER @V407510 00287000
  268. B MCHSYSIL GO SET UP TRACE ENTRY @V407510 00288000
  269. VMNONDI1 EQU * @VA01435 00289000
  270. STC R1,VMPSW+4 SAVE CONDITION CODE & PROGRAM @VA01435 00290000
  271. * MASK 00291000
  272. VMNONDIS EQU * 00292000
  273. OI VMRSTAT,VMEXWAIT SET THE VIRTUAL USER 00293000
  274. * NON-DISPATCHABLE 00294000
  275. MCHSYSIL EQU * 00295000
  276. AIF (NOT &TRACE(9)).TR1 ** AIF ** @VA01166 00296000
  277. TM TRACFLG1,TRAC04 TRACING ACTIVE? @V407510 00297000
  278. BZ NOTRAC1 BRANCH IF NOT @VA01166 00298000
  279. TRACE CODE=TRCMCH,R15,R2,R3 @V407510 00299000
  280. STCM R11,L3B,ONE(R15) SAVE USER VMBLOK ADDRESS @V407510 00300000
  281. MVC 4(4,R15),INTMC SAVE MACHINE CHECK INT CODE @VA01166 00301000
  282. MVC 8(8,R15),MCOPSW SAVE THE OLD PSW @VA01166 00302000
  283. NOTRAC1 DS 0H @V407510 00303000
  284. .TR1 ANOP @V407510 00304000
  285. SR R4,R4 INDICATE NO TERMINATION @V407510 00305000
  286. TM MCHFLAG7,MCH7OPSW VIRTUAL USER ACTIVE? @V407510 00306000
  287. BNO TESTSUP NO, TEST FOR SUPERVISOR @V407510 00307000
  288. LA R4,MCH7VRTM SET UP TO TERMINATE USER @V407510 00308000
  289. B ANALYSIS START TO ANALYZE ERROR @V407510 00309000
  290. TESTSUP DS 0H @V407510 00310000
  291. CLI CPSTATUS,CPWAIT SYSTEM IN WAIT STATE? @V4M0144 00311000
  292. BE ANALYSIS YES, START TO ANALYZE ERROR @V4M0144 00312000
  293. LA R4,MCH7SYST INDICATE TERMINATE SYSTEM @V407510 00313000
  294. ANALYSIS DS 0H ANALYZE ERROR @V407510 00314000
  295. LA R3,MSG3 SETUP MESSAGE FOR SYSTEM INTEGRITY LOST 00315000
  296. TM MCIC,X'FD' IS THE M.C.I.C. VALID 00316000
  297. BZ FORCESYS NO, TERMINATE SYSTEM @V4M0144 00317000
  298. TM VALID1,WPBIT+MSBIT ARE THE EMWP, KEY & PSW MK VALID 00318000
  299. BNO FORCESYS NO, TERMINATE SYSTEM @V4M0144 00319000
  300. LA R3,MSG2 SET UP SYSTEM DAMAGE MSG @V4M0200 00320000
  301. TM VALID1,PMBIT+IABIT IAR & PGM MASK VALID? @V4M0200 00321000
  302. BNO MCHINVAL NO, TERMINATE APPROPRIATELY @V4M0200 00322000
  303. TM VALID2,FPBIT+GRBIT+CRBIT+STBIT REGS & STORAGE @V4M0200 00323000
  304. * LOGICAL VALID? @V4M0200 00324000
  305. BO MCHSYSD YES, TEST FOR SYSTEM DAMAGE @V4M0200 00325000
  306. MCHINVAL DS 0H @V4M0200 00326000
  307. EX R4,SETTERM SET APPROPRIATE TERMINATION FLAG @V4M0200 00327000
  308. MCHSYSD EQU * 00329000
  309. TM MCIC,SDBIT IS SYSTEM DAMAGE INDICATED ? 00330000
  310. BO PRETERM YES, TERMINATE APPROPRIATELY @V407510 00331000
  311. TM MCIC,CDBIT IS T.O.D. CLOCK DAMAGE INDICATED ? 00332000
  312. BZ MCHTIMER NO, GO CHECK FOR TIMER DAMAGE 00333000
  313. LA R3,MSG4 SET UP TIMING FACILITIES @V4M0200 00334000
  314. * DAMAGE MESSAGE @V4M0200 00335000
  315. OI MCHFLAG1,MCH1TODC INDICATE TIME OF CLOCK DAMGE 00336000
  316. FORCESYS DS 0H FORCE SYSTEM TERMINATION @V4M0144 00337000
  317. OI MCHFLAG7,MCH7SYST FORCE SYSTEM TERMINATION @V407510 00338000
  318. B PRETERM TERMINATE APPROPRIATELY @V407510 00339000
  319. ***************************************************************@V407510 00340000
  320. SETTERM OI MCHFLAG7,ZERO TURN ON APPROPRIATE FLAG @V407510 00341000
  321. ***************************************************************@V407510 00342000
  322. MCHTIMER EQU * 00343000
  323. TM MCIC,TDBIT IS CPU CLOCK DAMAGE INDICATED @V5088AA 00344050
  324. BZ GROUPERR IF NOT, CHECK FOR GROUP ERROR @V5088AA 00344100
  325. LA R3,MSG4 SETUP MSG FOR TIMING FACILITIES @V4M0200 00344150
  326. * DAMAGE 00344200
  327. B PRETERM TERMINATE APPROPRIATELY @V5088AA 00344250
  328. GROUPERR EQU * @V5088AA 00344300
  329. CLI MCHMODEL,MOD3033 IS PROCESSOR A 3033/3032/3031? @V5088AA 00344350
  330. BNE TSTTERM IF NOT, DON'T CHECK FOR GROUP ERR@V5088AA 00344400
  331. TM MCIC,EDBIT EXTERNAL DAMAGE INDICATED? @V5088AA 00344450
  332. BZ TSTTERM NO, TEST RESULT OF ANALYSIS @V5088AA 00344500
  333. TM VALID2,ECBIT IS EXT. DAMAGE REASON CODE VALID @V5088AA 00344550
  334. BZ TSTTERM NO, GO TEST RESULT OF ANALYSIS @V5088AA 00344600
  335. TM INTRC,EXDRESVD IS BIT 0 OF REASON CODE = 0? @V5088AA 00344650
  336. BO TSTTERM BRANCH IF NOT @V5088AA 00344700
  337. TM INTRC,EXDCNO+EXDCCF IS A GROUP ERROR INDICATED? @V5088AA 00344750
  338. BZ TSTTERM IF NOT, TEST ANALYSIS RESULTS @V5088AA 00344800
  339. OI MCHFLAG1,MCH1GERR FLAG GROUP ERROR IN MCHAREA @V5088AA 00344850
  340. LA R3,MSG17 SET UP MSG. FOR GROUP ERROR @V5088AA 00344900
  341. LA R4,MCH7SYST INDICATE SYSTEM TERMINATION @V5088AA 00344950
  342. PRETERM DS 0H @V407510 00348000
  343. EX R4,SETTERM SET APPROPRIATE TERMINATION FLG @V407510 00349000
  344. TSTTERM DS 0H @V407510 00350000
  345. TM MCHFLAG7,MCH7SYST SYSTEM TERMINATION? @V407510 00351000
  346. BO OPCOM YES, TERMINATE @V407510 00352000
  347. CHARGE START START CHARGING VIRTUAL USER @V407510 00353000
  348. TM MCHFLAG7,MCH7VRTM HAS TERMINATION BEEN SET FOR THE 00354000
  349. * VIRTUAL USER 00355000
  350. BO VIRTERM YES, GO TERMINATE THE VIRTUAL USER 00356000
  351. TM MCIC,PDBIT HAS INSTRUCTION PROCESSING 00357000
  352. * DAMAGE OCCURED ? 00358000
  353. BO MCHSPF YES, GO CHECK FOR SPF ERROR 00359000
  354. SR R0,R0 CLEAR REGISTER 0 FOR NO MESSAGE 00360000
  355. OI MCHFLAG0,MCH0HDWR SET INDICATOR FOR HARDWARE 00361000
  356. * RECOVERY 00362000
  357. TM MCIC,SRBIT IS SYSTEM RECOVERY INDICATED ? 00363000
  358. BZ OPMSG3 NO, THAN IT'S EXTERNAL DAMAGE @VA08088 00364100
  359. *********************************************************************** 00364200
  360. * THE 4331/4341 PROCESSORS SET BIT 17(SCBIT) TO ZERO AND * 00364300
  361. * THEREFORE IT SHOULD NOT BE CHECKED SINCE IT HAS NO VALIDITY. * 00364400
  362. *********************************************************************** 00364500
  363. CLI MCHMODEL,MOD4331 MODEL 4331 OR 4341 ??? @V60A6B6 00364600
  364. BE MCHENABL YES BIT 17 IS QUESTIONABLE @V60A6B6 00364700
  365. TM STOERR,SCBIT WAS IT A RECOVERED STORAGE ERROR ? 00365000
  366. BO SOFTSTG YES, GO CHECK FOR MODEL NUMBER 00366000
  367. OI MCHFLAG1,MCH1PROC SET THE INDICATOR FOR PROCESSOR 00367000
  368. * ERROR 00368000
  369. CLI MCHMODEL,MODEL145 IS THIS A MOD. 145/148? @V386298 00369000
  370. BNE MCHENABL NO, GO SCHEDULE MESSAGE 00370000
  371. TM VALID2,RCBIT IS THE REGION CODE VALID ? 00371000
  372. BZ MCHENABL NO, GO SCHEDULE MESSAGE 00372000
  373. TM REGION,MSRECOVR WAS THE FAILURE IN MAIN STORAGE 00373000
  374. BO MCHENABL YES, GO SCHEDULE THE MESSAGE 00374000
  375. OI MCHFLAG1,MCH1COST SET INDICATOR FOR CONTROL STORAGE 00375000
  376. B MCHENABL GO SCHEDULE MESSAGE 00376000
  377. SOFTSTG EQU * 00377000
  378. CLI MCHMODEL,MODEL135 IS THIS A MOD. 135/138? @V386298 00378000
  379. BNE MCHMAIN NO, GO SET INDICATOR FOR MAIN 00379000
  380. * STORAGE 00380000
  381. OI MCHFLAG1,MCH1COST SET INDICATOR FOR CONTROL STORAGE 00381000
  382. B MCHENABL GO SCHEDULE MESSAGE 00382000
  383. MCHMAIN EQU * 00383000
  384. OI MCHFLAG3,MCH3DATA SET THE INDICATOR FOR DATA 00384000
  385. OI MCHFLAG1,MCH1MAIN SET THE INDICATOR FOR MAIN STORAGE 00385000
  386. MCHENABL EQU * 00386000
  387. COUNT CPULIMIT,R3,R4 UPDATE SOFT ERROR COUNT @V407510 00387000
  388. CLI SOFTCT,MAXSOFT COUNT EXCEEDS 12? @V407510 00388000
  389. BNE OPMSG2 NO, SCHEDULE MESSAGE @V407510 00389000
  390. BAL R5,GETLOCK OBTAIN SYSTEM LOCK @V407510 00390000
  391. LR R5,R11 SAVE VALUE OF R11 @V407510 00392000
  392. L R11,ASYSVM STACK FOR SYSTEM @V407510 00393000
  393. BAL R6,STKOP IF AP, DISABLE OTHER PROCESSOR @V407510 00394000
  394. LR R11,R5 RESTORE R11 USER @V407510 00395000
  395. NI MCFXDLOG+272,X'FF'-RECOVRPT DISABLE SOFT MACHINE CHKS 00396000
  396. OI MCHFLAG0,MCH0QUIT SYSTEM IN QUIET STATUS 00397000
  397. LA R0,53 GET THE LENGTH OF THE MESSAGE 00398000
  398. MVC MSGCDE(43),MSG15 MOVE IN SOFT ERROR MESSAGE 00399000
  399. B OPMSG2 @VA08088 00399100
  400. OPMSG3 EQU * @VA08088 00399200
  401. MVC MSGCDE(3),VMS24 SETUP MSG ID @VA09504 00399310
  402. MVC MSGBUF(19),MSG2C MOVE MESSAGE INTO BUFFER @VA08088 00399400
  403. LA R0,46 GET LENGTH OF MESSAGE TEXT @VA08088 00399500
  404. OPMSG2 EQU * 00400000
  405. BAL R7,OPMSG GO TO SYSTEM OPERATOR RTN @V407510 00401000
  406. SPACE 00402000
  407. *********************************************************************** 00403000
  408. * SOFT RECORDING ROUTINE 00404000
  409. *********************************************************************** 00405000
  410. SPACE 00406000
  411. SOFTREC EQU * 00407000
  412. BAL R4,FUMAT GO FORMAT THE MACHINE CHECK RECORD 00408000
  413. NORMSG EQU * 00409000
  414. TM MCHFLAG7,MCH7OPSW WAS VIRTUAL USER ACTIVE 00410000
  415. BNO USERNOGO NO, GO RETURN TO DISPATCHER 00411000
  416. NI VMRSTAT,X'FF'-VMEXWAIT MARK USER DISPATCHABLE 00412000
  417. USERNOGO EQU * 00413000
  418. MCHDISP DS 0H @V407510 00414000
  419. MVC MCNPSW+PSWA(LNADDR),MCHBASE RESTORE MC NEW PSW @V407510 00415000
  420. LCTL R14,R15,MCFXDLOG+MCCR14 RESTORE CR14 & CR15 @V407510 00416000
  421. * REGS 14 & 15 @V407510 00417000
  422. GOTO DMKDSPCH RETURN TO DISPATCHER @V407510 00418000
  423. EJECT 00419000
  424. *********************************************************************** 00420000
  425. * COMMON ROUTINE TO TEST FOR AND/OR OBTAIN 00421000
  426. * THE GLOBAL SYSTEM LOCK 00422000
  427. *********************************************************************** 00423000
  428. SPACE 1 00424000
  429. GETLOCK DS 0H @V407510 00425000
  430. TM APSTAT1,APUOPER AP MODE? @V4M0144 00426000
  431. BZ CONVPROC NO, CONVERT PROCESSOR ADDR @V407510 00427000
  432. TM MCHFLAG7,MCH7SUP LOCK ALREADY HELD? @V407510 00428000
  433. BOR R5 YES, RETURN TO CALLER @V407510 00429000
  434. TM MCHFLAG7,MCH7OPSW VIRTUAL USER ACTIVE @V4M0144 00430000
  435. BNO CALLSTK1 NO, MUST GIVE UP CONTROL @V4M0144 00431000
  436. LOCK OBTAIN,TYPE=SYS,SPIN=NO,SAVE TRY TO GET LOCK @VA09129 00432100
  437. BNZ CALLSTK1 BRANCH IF LOCK NOT OBTAINED @V407510 00433000
  438. LOCKOBT DS 0H @V407510 00434000
  439. OI MCHFLAG7,MCH7SUP INDICATE LOCK HELD @V407510 00435000
  440. CONVPROC DS 0H @V407510 00436000
  441. LH R2,IPUADDR GET PROCESSOR ADDRESS @V407510 00437000
  442. CVD R2,WORK CONVERTPROCESSOR ADDRESS @V407510 00438000
  443. UNPK MSGPROC(LN2),WORKLO(LN2) CONVERT 2 DIGITS @V407510 00439000
  444. OI MSGPROC+ONE,ZONE SET ZONE FOR LAST DIGIT @V407510 00440000
  445. BR R5 RETURN TO CALLER @V407510 00441000
  446. CALLSTK1 DS 0H @V407510 00442000
  447. LR R6,R5 RESET RETURN REG FOR STACK RTN @V407510 00443000
  448. SPACE 2 00447000
  449. *********************************************************************** 00448000
  450. * COMMON ROUTINE TO INITIALIZE CPEXBLOK FOR RETURN TO 00449000
  451. * DMKMCH HOLDING SYSTEM LOCK 00450000
  452. *********************************************************************** 00451000
  453. SPACE 1 00452000
  454. STACK DS 0H @V407510 00453000
  455. L R1,MCHCPEX GET ADDRESS OF CPEXBLOK @V407510 00454000
  456. USING CPEXBLOK,R1 ADDRESSABILITY FOR CPEXBLOK @V407510 00455000
  457. STM R0,R15,CPEXREGS SAVE REGISTERS @V407510 00456000
  458. OI APSTAT4,CPMCHSE SET MCH INDICATOR IN PSA @VA07615 00457100
  459. AIF (NOT &AP).APCHK4 00457130
  460. TM APSTAT1,APUOPER IS AP OPERATIONAL @VA07615 00457150
  461. BO NOMIC1 YES @VA07615 00457200
  462. .APCHK4 ANOP 00457220
  463. OI APSTAT2,CPMCHLK SET FOR ECPS IN UP MODE @VA07615 00457250
  464. AIF (NOT &AP).DSPRU4 00457280
  465. NOMIC1 DS 0H @VA07615 00457300
  466. TM MCHFLAG7,MCH7OPSW @VA07834 00457400
  467. BNO SOFTSUP @VA07834 00457500
  468. GOTO DMKDSPRU @VA07834 00457600
  469. SPACE 3 00458000
  470. ********************************************************************** 00459000
  471. SOFTSUP EQU * 00460000
  472. .DSPRU4 ANOP 00460100
  473. MVC MCOPSW(8),MCOLDPW RESTORE MACHINE CHECK OLD 00461000
  474. * PSW 00462000
  475. LCTL C0,C13,MCFXDLOG+216 RESTORE CONTROL REGISTERS 00463000
  476. AIF (NOT &FLOATPT).NOFP1 **AIF** 00464000
  477. LD Y0,MCFXDLOG+120 RESTORE FLOATING-POINT REGS @V200820 00465000
  478. LD Y2,MCFXDLOG+128 ... @V200820 00466000
  479. LD Y4,MCFXDLOG+136 ... @V200820 00467000
  480. LD Y6,MCFXDLOG+144 ... @V200820 00468000
  481. .NOFP1 ANOP @V200820 00469000
  482. RESETSUP DS 0H @V407510 00477000
  483. CHARGE STOP STOP CHARGING SYSTEM @V4M0217 00478000
  484. SPT XD8 SET CPU TIMER FROM LOGOUT @V4M0217 00479000
  485. LM R0,R15,MCFXDLOG+152 RESTORE GENERAL REGS @V200820 00480000
  486. LPSW MCOPSW RESTART WHATEVER WAS STOPPED@V200820 00481000
  487. ********************************************************************** 00482000
  488. SPACE 3 00483000
  489. SPACE 00484000
  490. DMKMCHSE DS 0H @V407510 00485000
  491. L R9,AMCHAREA GET MCHAREA ADDRESS @V407510 00486000
  492. L R1,MCHCPEX GET CPEXBLOK ADDRESS @V407510 00487000
  493. LM R0,R15,CPEXREGS RESTORE REGISTERS @V407510 00488000
  494. C R11,ASYSVM IS THIS SYSTEM VMBLOCK? @VA08054 00488100
  495. BE NOLOCK YES - DONT LOCK IT @VA08054 00488200
  496. LH R5,LPUADDR LOAD PROCESSOR ADDRESS @VA08054 00488300
  497. CH R5,VMLOCK+2-VMBLOK(,R11) IS VMBLOK LOCKED @VA08054 00488400
  498. BE NOLOCK YES - DONT LOCK IT @VA08054 00488500
  499. LR R1,R11 PREPARE VMBLOCK FOR LOCK @VA08054 00488600
  500. LOCK OBTAIN,TYPE=VMBLOK,SPIN=NO GET VMBLOK LOCK @VA08054 00488700
  501. NOLOCK EQU * @VA08054 00488800
  502. NI APSTAT4,X'FF'-CPMCHSE TURN OFF MCH INDICATOR @VA07615 00489100
  503. TM APSTAT1,APUOPER RUNNING AS AP @VA07615 00489150
  504. BO NOMIC2 YES @VA07615 00489200
  505. NI APSTAT2,X'FF'-CPMCHLK RESET FOR ECPS - UP ONLY @VA07615 00489250
  506. NOMIC2 DS 0H @VA07615 00489300
  507. LR R5,R6 SET UP TO EXIT FROM GETLOCK @V407510 00490000
  508. B LOCKOBT BRANCH TO END OF GETLOCK @V407510 00491000
  509. SPACE 2 00492000
  510. *********************************************************************** 00493000
  511. * COMMON ROUTINE TO USE NORMAL SYSTEM FACILITIES @V407510 00494000
  512. * TO COMMUNICATE WITH THE PRIMARY SYSTEM OPERATOR @V407510 00495000
  513. *********************************************************************** 00496000
  514. SPACE 1 00497000
  515. OPMSG DS 0H @V407510 00498000
  516. TM MCHFLAG7,MCH7SUP CHECK FOR SYSTEM LOCK @VA07775 00498100
  517. BO MCHMSGW YES,BYPASS GETTING CPEXBLOK AGAIN@VA07775 00498200
  518. TM MCHFLAG7,MCH7OPSW VIRTUAL USER ACTIVE? @V4M0144 00499000
  519. BNO CALLSTK NO, STACK CPEXBLOK @V4M0144 00500000
  520. BAL R5,GETLOCK OBTAIN SYSTEM LOCK @V407510 00501000
  521. B MCHMSGW PUT MESSAGE OUT @V407510 00502000
  522. CALLSTK DS 0H @V407510 00503000
  523. BAL R6,STACK STACK CPEXBLOK @V407510 00504000
  524. MCHMSGW DS 0H @V407510 00505000
  525. LTR R0,R0 IS THE MESSAGE LENGTH ZERO 00506000
  526. BZ 0(R7) YES, NO MESSAGE FOR OPERATOR @V407510 00507000
  527. LA R0,MSGLN GET LENGTH OF FULL AREA @V407510 00508000
  528. LA R1,MCHMSG GET ADDRESS OF MESSAGE BUFFER 00509000
  529. CALL DMKQCNWT,PARM=OPERATOR+NORET+ALARM,AFFINITY @V407510 00510000
  530. MVI MSGBUF,BLANK CLEAR BUFFER @V407510 00511000
  531. MVC MSGBUF+ONE(L'MSGBUF-1),MSGBUF CLEAR BUFFER @V407510 00512000
  532. MVC MSGCDE+4(13),VMSGTA RESTORE THE MESSAGE IN THE BUFFER 00513000
  533. BR R7 RETURN TO CALLER @V407510 00514000
  534. SPACE 00515000
  535. STKOP DS 0H STACK BLOCK FOR OTHER PROCESSOR @V407510 00520000
  536. AIF (NOT &AP).APCHK5 00520900
  537. TM APSTAT1,APUOPER AP MODE? @V407510 00521000
  538. BZR R6 NO, RETURN @V407510 00522000
  539. LA R0,CPEXSIZE SIZE OF CPEXBLOK @V407510 00523000
  540. CALL DMKFREE GET STORAGE @V407510 00524000
  541. USING CPEXBLOK,R1 ADDRESSABILITY TO CPEXBLOK @V407510 00525000
  542. LA R15,STKRETN ADDR OF ROUTINE TO GET CONTROL @V407510 00526000
  543. ST R15,CPEXADD SET UP RETURN ADDRESS @V407510 00527000
  544. STM R0,R15,CPEXREGS SAVE REGISTERS @V407510 00528000
  545. CALL DMKSTKOP STACK FOR OTHER PROCESSOR @V407510 00529000
  546. DROP R1 RELEASE REG @V407510 00530000
  547. .APCHK5 ANOP 00530100
  548. BR R6 RETURN TO CALLER @V407510 00531000
  549. AIF (NOT &AP).APCHK6 00531900
  550. STKRETN DS 0H @V407510 00532000
  551. STCTL R14,R14,CR14ENB SAVE CONTROL REG 14 @V407510 00548000
  552. NI CR14ENB,OFF-RECOVRPT DISABLE IN CR14 @V407510 00549000
  553. LCTL R14,R14,CR14ENB RESTORE CR14 @V407510 00550000
  554. .APCHK6 ANOP 00550100
  555. MCEXIT DS 0H @V407510 00551000
  556. GOTO DMKDSPCH RETURN TO DISPATCHER @V407510 00552000
  557. EJECT 00553000
  558. ************************************************************* 00554000
  559. MCHSPF EQU * 00555000
  560. MVC MCHFSAR(4),FSA SAVE THE FAILING STORAGE ADDRESS 00556000
  561. TM STOERR,PEBIT IS UNCORRECTED PROTECTION ERROR 00557000
  562. * INDICATED ? 00558000
  563. BO MCHFSA YES, GO CHECK FAILING STORAGE ADDR. 00559000
  564. * VALIDITY FLAG 00560000
  565. MCHMSG2 EQU * 00561000
  566. LA R3,MSG2 SETUP THE SUPERVISOR DAMAGE 00562000
  567. * MESSAGE 00563000
  568. TM MCHFLAG7,MCH7OPSW WAS THE VIRTUAL USER ACTIVE 00564000
  569. BO MCHNXT YES, MAKE MORE CHECKS @V407510 00565000
  570. OI MCHFLAG7,MCH7SYST INDICATE SYSTEM TERMINATION @V407510 00566000
  571. B OPCOM TERMINATE SYSTEM @V407510 00567000
  572. MCHNXT DS 0H @V407510 00568000
  573. TM STOERR,SEBIT+PEBIT IS SPF/STORAGE ERROR INDICATED ? 00569000
  574. BNZ MCHFSA YES, GO CHECK FAILING STORAGE 00570000
  575. * ADDRESS VALIDITY FLAG 00571000
  576. OI MCHFLAG1,MCH1PROC INDICATE PROCESSOR DAMAGE 00572000
  577. MCHCPU EQU * 00573000
  578. TM MCHFLAG7,MCH7OPSW WAS THE VIRTUAL USER ACTIVE ? 00574000
  579. BZ MCHMSG2 NO, GO PUT SYSTEM IN WAIT STATE 00575000
  580. MCHSW EQU * 00576000
  581. OI MCHFLAG7,MCH7VRTM SET TERMINATION FLAG FOR USER 00577000
  582. B VIRTERM GO TERMINATE THE USER 00578000
  583. MCHFSA EQU * 00579000
  584. TM VALID2,FABIT IS THE FAILING STORAGE ADDRESS 00580000
  585. * VALID ? 00581000
  586. BO MCHBACK YES, GO CHECK BACKUP FLAG 00582000
  587. OI MCHFLAG5,MCH5IFSA INDICATE THE FAILING STORAGE 00583000
  588. * ADDRESS IS INVALID 00584000
  589. B MCHCPU GO SEE IF USER IS ACTIVE 00585000
  590. MCHBACK EQU * 00586000
  591. ********************************************************************** 00586100
  592. * IF THIS IS A 4331OR 4341 PROCESSOR, THEN BIT 14(BVBIT) IS * 00586200
  593. * STORED AS A ZERO AND THEREFORE HAS NO MEANING. DO NOT TEST IT. * 00586300
  594. ********************************************************************** 00586400
  595. CLI MCHMODEL,MOD4331 MODEL 4331 OR 4341 @V60A6B6 00586500
  596. BE CKBIT16 YES BIT 14 IS QUESTIONABLE. @V60A6B6 00586600
  597. TM TENSE,BVBIT IS THE BACKUP FLAG ON ? 00587000
  598. BZ MCHCPU NO, GO SEE IF USER IS ACTIVE 00588000
  599. CKBIT16 EQU * @V60A6B6 00588100
  600. NI MCHFSAR+3,X'F0' PUT THE FAILING STORAGE ADDRESS 00589000
  601. * ON A QUADWORD BOUNDARY 00590000
  602. TM STOERR,SEBIT IS STORAGE ERROR INDICATED ? 00591000
  603. BZ SPFTEST NO, GO SETUP FOR SPF ERROR 00592000
  604. SPACE 2 00593000
  605. ********************************************************************** 00594000
  606. SPACE 00595000
  607. SPACE 00596000
  608. *********************************************************************** 00597000
  609. SPACE 00598000
  610. REFRESH EQU * 00599000
  611. OI MCHFLAG1,MCH1MAIN INDICATE MAIN STORAGE DAMAGE 00600000
  612. OI MCHFLAG3,MCH3DATA INDICATE DATA HAS BEEN DAMAGED 00601000
  613. TM MCOPSW,TRANMODE WAS THE CPU IN RELOCATE MODE ? 00602000
  614. BNO MCHSW NO, GO TERMINATE VIRTUAL USER 00603000
  615. BAL R5,GETLOCK OBTAIN SYSTEM LOCK @V407510 00604000
  616. L R2,MCHFSAR GET THE FAILING STORAGE ADDRESS 00605000
  617. * THAT'S ON A 4K BOUNDARY 00606000
  618. SRL R2,12 PUT THE FAILING STORAGE ADDRESS 00607000
  619. SLL R2,12 ON A 4K BOUNDARY 00608000
  620. LR R3,R2 SAVE THE FAILING STORAGE ADDRESS 00609000
  621. LA R3,2048(R3) ADD 2K TO GET THE NEXT KEY 00610000
  622. SR R1,R1 CLEAR REGISTER 1 00611000
  623. ISK R1,R2 GET THE FIRST KEY FROM STORAGE 00612000
  624. SLL R1,8 MAKE ROOM FOR NEXT KEY 00613000
  625. ISK R1,R3 GET SECOND KEY FROM STORAGE 00614000
  626. N R1,=A(X'202') ARE THE CHANGE BITS ON IN KEYS 00615000
  627. BNZ STGTEST YES, GO SET CHANGE INDICATOR 00616000
  628. BAL R14,CORTBLR GO GET THE CORTABLE ADDRESS 00617000
  629. L R3,CORSWPNT GET THE SWPTABLE ENTRY ADDRESS 00618000
  630. USING SWPFLAG,R3 SETUP ADDRESSABILITY FOR SWPTABLE 00619000
  631. TM SWPFLAG,SWPCHG1+SWPCHG2 ARE CHANGE FLAGS ON IN TABLE 00620000
  632. BZ STGTEST1 NO, REFRESH IS POSSIBLE 00621000
  633. DROP R3 DROP BASE REGISTER FOR SWPTABLE 00622000
  634. STGTEST EQU * 00623000
  635. OI MCHPDAR6,MCHP6CBA INDICATE THE CHANGE BIT IS ON 00624000
  636. B STORA GO TO STORAGE EXERCISE ROUTINE @V5088AB 00624100
  637. STGTEST1 EQU * 00625000
  638. CLI MCHMODEL,MOD3031 IS THIS A 3031/3032/3033 @V5088AB 00625100
  639. * PROCESSOR? 00625200
  640. BE MCHSOLID IF SO, TREAT MULTI-BIT ECC ERRORS@V5088AB 00625300
  641. * AS SOLID ERRORS 00625400
  642. STORA EQU * @V5088AB 00625500
  643. BAL R3,MCHSTORA GO TO THE STORAGE EXERCISE RTN. 00626000
  644. OI MCHFLAG3,MCH3INTE INDICATE INTERMITTENT ERROR 00627000
  645. OI MCHPDAR1,MCHP1IDE INDICATE INTERMITTENT STORAGE 00628000
  646. * ERROR 00629000
  647. B VRTSPF GO CHECK FOR V=R USER 00630000
  648. ******************************************************************** 00631000
  649. * THE STORAGE TEST RESULTED IN A MC INTERRUPT,IF THE 00632000
  650. * FAILURE IS IN THE SAME FRAME THEN THE DEFECTIVE FRAME WILL 00633000
  651. * BE REMOVED FROM SYSTEM USE 00634000
  652. ********************************************************************* 00635000
  653. SPACE 00636000
  654. MCHSTORA EQU * 00637000
  655. STCTL R14,R14,SAVECR14 SAVE CONTENT OF CONTROL REGISTER 15 00638000
  656. CLI MCHMODEL,MODEL155 IS THIS A MODEL 155 00639000
  657. BE MCDIABUF YES, GO ENABLE ECC LOGIC 00640000
  658. CLI MCHMODEL,MODEL165 IS THIS A MODEL 165 00641000
  659. BNE MCHSKIP NO, GO SETUP EXERCISE HANDLER 00642000
  660. DC X'8300' ENABLE THE ECC LOGIC 00643000
  661. DC S(ECCENA65) FOR THE MODEL 165 00644000
  662. B MCENCR14 GO ENABLE THE RECOVERY REPORT 00645000
  663. * IN CONTROL REGISTER 14 00646000
  664. MCDIABUF EQU * 00647000
  665. DC X'8300' ENABLE THE ECC LOGIC 00648000
  666. DC S(ECCENA55) FOR THE MODEL 155 00649000
  667. MCENCR14 EQU * 00650000
  668. LA R2,MCHSKIP GET THE ADDRESS OF THE EXERCISE 00651000
  669. * HANDLER THAT BLEED OFF INTERRUPT 00652000
  670. ST R2,MCNPSW+4 CHANGE MACHINE CHECK NEW PSW 00653000
  671. * TO THE ADDRESS OF THE HANDLER 00654000
  672. OI MCNPSW+1,MCHEK ENABLE MACHINE CHECK NEW FOR 00655000
  673. * MACHINE CHECKS 00656000
  674. OI SAVECR14,RECOVRPT ENABLE THE RECOVERY REPORT IN 00657000
  675. * CONTROL REGISTER 14 00658000
  676. LCTL R14,R14,SAVECR14 RESTORE CONTROL REGISTER 14 00659000
  677. MCHSKIP EQU * 00660000
  678. LA R2,HANDLER GET THE ADDRESS OF THE EXERCISE 00661000
  679. * HANDLER TO INTERCEPT MACHINE CHECKS 00662000
  680. ST R2,MCNPSW+4 CHANGE MACHINE CHECK NEW PSW 00663000
  681. LA R6,X'FF' SETUP COUNTER FOR EXERCISE ROUTINE 00664000
  682. ******************************************************************* 00664100
  683. * THE FOLLOWING FEW INSTRUCTIONS VALIDATES STORAGES USING THE * 00664200
  684. * MVCL COMMAND. REG 2 CONTAINS THE ADDRESS OF THE AREA TO BE * 00664300
  685. * TESTED ROUNDED DOWN TO A 2K BOUNDARY. REG 3 CONTAINS THE LENGTH* 00664400
  686. * OF THE MOVE(2K). REG 4 CONTAINS MOVE FROM ADDR(IN THIS CASE 0) * 00664500
  687. * REG 5 CONTAINS PAD CHAR AND LENGTH OF 0. STOREXE1 AND STOREXE0* 00664600
  688. * EXERCISE THE STORAGE IN QUESTION TO FORCE MACHINE CHECK IF A * 00664700
  689. * STORAGE PROBLEM EXISTS. * 00664800
  690. ******************************************************************* 00664900
  691. STM R2,R3,MCREGS SAVE USER @VA11098 00665010
  692. L R2,MCHFSAR GET ADDR OF TEST AREA @V60A6B6 00665100
  693. L R4,MCHMASK SET UP MASK FOR ROUNDING TO 2K @V60A6B6 00665200
  694. NR R2,R4 ROUNDS DOWN TO 2K BOUNDARY @V60A6B6 00665300
  695. LH R3,TWOK LOAD 2K LENGTH @V60A6B6 00665400
  696. SR R4,R4 SET REG 4 AND 5 FOR MVCL @V60A6B6 00665500
  697. SR R5,R5 .... @V60A6B6 00665600
  698. MVCL R2,R4 NOW VALIDATE @V60A6B6 00666000
  699. LM R2,R3,MCREGS RESTORE USER @VA11098 00667010
  700. STOREXE1 EQU * 00668000
  701. LM R4,R5,FFS PUT THE ONES PATTERN IN THE REGISTERS 00669000
  702. STM R4,R5,0(R2) STORE INTO THE FAILING STORAGE @V60A6B6 00670000
  703. STM R4,R5,8(R2) LOCATION ONES @V60A6B6 00671000
  704. LM R4,R5,0(R2) FETCH FROM THE FAILING STORAGE @V60A6B6 00672000
  705. LM R4,R5,8(R2) LOCATION ONES @V60A6B6 00673000
  706. STOREXE0 EQU * 00674000
  707. LM R4,R5,ZEROES PUT THE ZEROS PATTERN IN THE REGISTERS 00675000
  708. STM R4,R5,0(R2) STORE INTO THE FAILING STORAGE @V60A6B6 00676000
  709. STM R4,R5,8(R2) LOCATION ZEROS @V60A6B6 00677000
  710. LM R4,R5,0(R2) FETCH FROM THE FAILING STORAGE @V60A6B6 00678000
  711. LM R4,R5,8(R2) LOCATION ZEROS @V60A6B6 00679000
  712. SWITCLR EQU * 00680000
  713. MVI SWITCH,X'00' CLEAR SWITCH WHEN EXERCISE IS FINISHED 00681000
  714. BCT R6,STOREXE1 GO START EXERCISE SECTION AGAIN 00682000
  715. CLEANUP EQU * 00683000
  716. NI SAVECR14,X'FF'-RECOVRPT MASK OFF THE RECOVERY REPORT 00684000
  717. * IN CONTROL REGISTER 14 00685000
  718. LCTL R14,R14,SAVECR14 RESTORE CONTROL REGISTER 14 00686000
  719. CLI MCHMODEL,MODEL155 IS THIS A MODEL 155 00687000
  720. BE MCHECC YES, GO CHECK THE MODE FLAG 00688000
  721. CLI MCHMODEL,MODEL165 IS THIS A MODEL 165 00689000
  722. BNE MCREPSW NO, GO RESTORE THE MACHINE CHECK 00690000
  723. * NEW PSW 00691000
  724. TM APSTAT4,RECMODE SYSTEM ENABLED FOR ECC @VA07615 00692100
  725. BO MCREPSW YES, RESTORE MACHINE CHK NEW PSW @V407510 00693000
  726. DC X'8300' DISABLE THE ECC LOGIC 00694000
  727. DC S(ECCDIS65) ON THE MODEL 165 00695000
  728. B MCREPSW GO RESTORE MACHINE CHECK NEW PSW 00696000
  729. MCHECC EQU * 00697000
  730. TM APSTAT4,RECMODE SYSTEM ENABLED FOR ECC @VA07615 00698100
  731. BO MCREPSW YES, RESTORE MACHINE CHK NEW PSW @V407510 00699000
  732. DC X'8300' DISABLE THE ECC LOGIC 00700000
  733. DC S(ECCDIS55) ON THE MODEL 155 00701000
  734. MCREPSW EQU * 00702000
  735. MVC MCNPSW(8),STGSVE RESTORE MACHINE CHECK 00703000
  736. * NEW PSW WITH SECONDARY HANDLER 00704000
  737. BR R3 RETURN TO INLINE CODE 00705000
  738. ********************************************************************** 00706000
  739. ********************************************************************** 00707000
  740. SPACE 2 00708000
  741. ********************************************************************** 00709000
  742. ********************************************************************** 00710000
  743. HANDLER EQU * 00711000
  744. TM STOERR,SEBIT IS THIS A MULT-BIT STORAGE ERROR 00712000
  745. BO MCHSOLID YES, GO TO CLEANUP ROUTINE AND 00713000
  746. * INDICATE SOLID ERROR 00714000
  747. *********************************************************************** 00714100
  748. * THE 4331 OR 4341 PROCESSORS STORE BIT 17 AS A ZERO AND THERE * 00714200
  749. * FORE IT SHOULD NOT BE CHECKED SINCE IT DOES NOT HAVE ANY VALIDITY.* 00714300
  750. *********************************************************************** 00714400
  751. CLI MCHMODEL,MOD4331 MODEL 4331 OR 4341 ? @V60A6B6 00714500
  752. BE MCHSOLID YES BIT 17 IS QUESTIONABLE. @V60A6B6 00714600
  753. TM STOERR,SCBIT IS THIS A SOFT ERROR ? 00715000
  754. BZ MCHSOLID NO, GO TO CLEANUP ROUTIE AND 00716000
  755. * INDICATE SOLID ERROR 00717000
  756. LTR R5,R5 IS THE ZERO PATTERN IN REGISTER 5 00718000
  757. BZ TESTSWIT YES, GO CHECK TEST SWITCH 00719000
  758. OI SWITCH,X'80' THE TEST SWITCH IS SET WHEN EXERCISE 00720000
  759. * EXERCISING THE ONES PATTERN 00721000
  760. B STOREXE0 GO EXERCISE THE ZERO PATTERN 00722000
  761. TESTSWIT EQU * 00723000
  762. TM SWITCH,X'80' IS THE TEST SWITCH SET ? 00724000
  763. BZ SWITCLR NO, GO CLEAR TEST SWITCH 00725000
  764. MCHSOLID EQU * 00726000
  765. BAL R3,CLEANUP GO RESTORE THE STATUS OF THE SYSTEM 00727000
  766. OI MCHFLAG3,MCH3SOLD INDICATE SOLID ERROR IN 00728000
  767. * THE DAMAGE ASSESSMENT AREA 00729000
  768. OI MCHPDAR1,MCHP1SDE INDICATE SOLID STORAGE ERROR 00730000
  769. VRTSPF EQU * 00731000
  770. ICM R4,15,AVMREAL GET THE VIRTUAL V=R USER ADDRESS 00732000
  771. BZ MCHCORT IF ZERO, GO GET CORTABLE ADDRESS 00733000
  772. CR R4,R11 IS THE VMBLOK THE SAME AS RUNUSER 00734000
  773. BNE MCHCORT NO, GO GET THE CORTABLE ADDRESS 00735000
  774. OI MCHFLAG7,MCH7VEQR INDICATE TERMINATION OF V=R USER 00736000
  775. TM MCHFLAG3,MCH3SOLD IS THIS A SOLID ERROR ? 00737000
  776. BZ VIRTERM NO, GO TERMINATE VIRTUAL=REAL USER 00738000
  777. MVC AVMREAL(4),FFS SET THE INDICATOR TO REMOVE THE 00739000
  778. * VIRTUAL=REAL PAGE 00740000
  779. L R14,PREFIXB GET PREFIX ADDR OF OTHER PROC @V4M0132 00741000
  780. MVC AVMREAL-PSA(,R14),FFS SET AVMREAL IN OTHER PSA @V4M0132 00742000
  781. B VIRTERM GO TERMINATE THE V=R USER 00743000
  782. MCHCORT EQU * 00744000
  783. BAL R14,CORTBLR GO GET THE CORTABLE ADDRESS 00745000
  784. USING PAGCORE,R6 SETUP ADDRESSABILITY FOR PAGE TABLE 00746000
  785. * ENTRY 00747000
  786. L R6,CORPGPNT GET THE PAGE TABLE ENTRY ADDRESS 00748000
  787. MVI PAGCORE,X'00' CLEAR THE REAL STORAGE ADDRESS 00749000
  788. NI PAGCORE+1,X'0F' 00750000
  789. OI PAGCORE+1,PAGINVAL INVALIDATE THE PAGE TABLE ENTRY 00751000
  790. SR R6,R6 CLEAR THE PAGE TABLE ENTRY POINTER 00752000
  791. ST R6,CORPGPNT CLEAR PTE IN CORTABLE 00753000
  792. DROP R6 DROP BASE FOR PTE 00754000
  793. OI VMESTAT,VMINVPAG INVALIDATE SHADOW PAGE TABLE 00755000
  794. SPACE 00756000
  795. TM VMMCR6,VMMVTMR IS TIMER ASSIST BEING USED ? @V3M5014 00757000
  796. BZ UNCHAIN NO EXTRA CHECKS NECESSARY... @V3M5014 00758000
  797. ICM R15,B'0111',VMMADDR VM ASSIST ON FOR USER ? @V3M5014 00759000
  798. BZ UNCHAIN NO TIMER ASSIST IF NO VM ASSIST @V3M5014 00760000
  799. USING MICBLOK,R15 ADDRESSABILITY TO POINTER LIST @V3M5014 00761000
  800. LCTL C1,C1,VMSEG GET CORRECT SEGMENT TABLE ORIGIN @V3M5014 00762000
  801. LRA R1,TIMER-PSA PAGE ZERO CURRENTLY INVALID ? @V3M5014 00763000
  802. BZ STMICTMR NO, TIMER ASSIST POINTER O.K. @V3M5014 00764000
  803. LA R1,VMTIMER POINT TIMER ASSIST HERE... @V3M5014 00765000
  804. STMICTMR ST R1,MICVTMR FOR UPDATING VIRTUAL TIMER VALUE @V3M5014 00766000
  805. DROP R15 @V3M5014 00767000
  806. SPACE 00768000
  807. UNCHAIN DS 0H 00769000
  808. TM MCHFLAG3,MCH3SOLD IS THIS A SOLID ERROR ? 00770000
  809. BZ REFPAG NO, GO PURGE AFFECTED PAGE 00771000
  810. MVI CORFLAG,CORDISA DISABLE THE DEFECTIVE FRAME 00772000
  811. MVC MSGCDE(3),MSG13 SETUP MESSAGE NUMBER 00773000
  812. MVC MSGBUF(28),MSG13B MOVE THE MESSAGE INTO THE BUFFER 00774000
  813. LA R1,MCHMSG GET THE ADDRESS OF THE MESSAGE 00775000
  814. LA R0,56 GET THE LENGTH OF THE MESSAGE 00776000
  815. CALL DMKQCNWT,PARM=ALARM+OPERATOR+NORET,AFFINITY @V407510 00777000
  816. TM MCHPDAR1,MCHP1SKE IS THIS A SOLID SPF ERROR ? 00778000
  817. BO MCHSW YES, GO TERMINATE THE VIRTUAL USER 00779000
  818. B MCHCHANG GO CHECK THE CHANGE FLAG 00780000
  819. REFPAG EQU * 00781000
  820. OI MCHPDAR7,MCH7PURG SET PURGE PAGE INTERFACE'S FLAG 00782000
  821. LR R7,R10 GET THE ADDRESS OF THE CORTABLE 00783000
  822. CALL DMKPTRFT,AFFINITY @V407510 00784000
  823. NI MCHPDAR7,X'FF'-MCH7PURG CLEAR PURGE INTERFACE'S FLAG 00785000
  824. MCHCHANG EQU * 00786000
  825. TM MCHPDAR6,MCHP6CBA IS THE CHANGE FLAG ACTIVE ? 00787000
  826. BO MCHSW YES, GO TERMINATE THE VIRTUAL USER 00788000
  827. B SOFTREC GO BUILD ERROR RECORD 00789000
  828. ********************************************************************* 00790000
  829. * THIS ROUTINE FINDS THE CORTABLE ASSOCIATED WITH THE FAILING 00791000
  830. * STORAGE ADDRESS AND DETERMINES IF THE LOCKBIT IS ON FOR 00792000
  831. * THE PAGE 00793000
  832. ********************************************************************* 00794000
  833. SPACE 00795000
  834. CORTBLR EQU * 00796000
  835. SR R10,R10 CLEAR REGISTER 10 00797000
  836. ICM R10,C3,MCHFSAR+1 GET THE FAILING STORAGE 00798000
  837. * ADDRESS 00799000
  838. SRL R10,4 CLEAR THE LOW ORDER BITS 00800000
  839. SLL R10,4 SETUP ADDRESS FOR CORETABLE 00801000
  840. A R10,ACORETBL ADD CORTABLE ORIGN POINTER TO ENTRY 00802000
  841. TM MCHPDAR1,MCHP1IKE IS THIS AN INTERMITTENT SPF ERROR 00803000
  842. BC 1,0(R14) YES, RETURN TO IN LINE CODE 00804000
  843. TM CORFLAG,CORIOLCK IS THE PAGE LOCKED IN STORAGE ? 00805000
  844. BO MCHSW YES, TERMINATE THE VIRTUAL USER 00806000
  845. BR R14 NO,RETURN(R10=ADDR. OF CORTABLE) 00807000
  846. ********************************************************************* 00808000
  847. EJECT 00809000
  848. ********************************************************************** 00810000
  849. * SPF FAILURE ANALYSIS ROUTINE 00811000
  850. ********************************************************************** 00812000
  851. SPACE 00813000
  852. SPFTEST EQU * 00814000
  853. SR R8,R8 CLEAR REGISTER 8 00815000
  854. MR R4,R8 CLEAR TWO REGISTERS 00816000
  855. OI MCHFLAG3,MCH3PROT SET THE INDICATOR FOR PROTECT 00817000
  856. L R3,MCHFSAR GET THE FAILING STORAGE ADDRESS 00821000
  857. LA R7,SPFTERM GET THE ADDRESS OF HANDLER 00822000
  858. ST R7,MCNPSW+4 CHANGE MACHINE CHECK NEW PSW 00823000
  859. * TO SPF SECONDARY HANDLER 00824000
  860. TM MCHFLAG7,MCH7OPSW VIRTUAL MACHINE ACTIVE ? @VA08064 00824100
  861. BO SIG0014U YES, CONTINUE PROCESSING @VA08064 00824400
  862. SIGNAL STOP STOP THE OTHER PROCESSOR @V4M0144 00825000
  863. SIG0014U DS 0H @VA08064 00825500
  864. LA R7,5 SETUP THE COUNT FOR THE EXERCISE 00826000
  865. LA R6,16 SETUP THE COUNT FOR THE NUMBER OF KEYS 00827000
  866. SPFEXEC EQU * 00828000
  867. SSK R4,R3 EXECERCISE THE 00829000
  868. ISK R4,R3 FAILING STORAGE LOCATION BY DURING 00830000
  869. * STORES AND FETCHS FROM THE KEY 00831000
  870. * LOCATION IN STORAGE 00832000
  871. BCT R7,SPFEXEC GO EXERCISE THE KEY FIVE TIMES 00833000
  872. LA R4,16(R4) GET THE NEXT KEY VALUE 00834000
  873. LR R5,R4 SAVE THE NEW KEY 00835000
  874. LA R7,5 RE-INITIALIZE THE COUNT 00836000
  875. BCT R6,SPFEXEC GO EXERCISE THE NEW KEY 00837000
  876. SPFMSG EQU * 00838000
  877. MVC MCNPSW(8),STGSVE RESTORE MACHINE CHECK NEW 00839000
  878. * PSW TO THE SECONDARY HANDLER 00840000
  879. OI MCHFLAG3,MCH3INTE INDICATE INTERMITTENT ERROR 00841000
  880. * IN THE DAMAGE ASSESSMENT AREA 00842000
  881. OI MCHPDAR1,MCHP1IKE INDICATE INTERMITTENT SPF ERROR 00843000
  882. TM MCHFLAG7,MCH7OPSW WAS THE VIRTUAL USER ACTIVE ? 00844000
  883. BO SPFCORT YES, CALL CORTBLR @V407510 00845000
  884. SIGNAL START RESTART OTHER PROCESSOR @V407510 00846000
  885. B CPUSPF CONTINUE PROCESSING @V407510 00847000
  886. SPFCORT DS 0H @V407510 00848000
  887. BAL R14,CORTBLR GO GET THE CORTABLE ADDRESS 00849000
  888. ICM R7,C7,CORSWPNT+1 GET SWAPTABLE ENTRY FROM CORTABLE 00850000
  889. USING SWPFLAG,R7 SETUP ADDRESSABILITY FOR SWPTABLE 00851000
  890. IC R8,SWPKEY1 GET THE KEY FOR THE EVEN HALF PAGE 00852000
  891. TM FSA+3,X'08' IS THE HALF PAGE EVEN OR ODD ? 00853000
  892. BZ CPUSPF YES, THE HALF PAGE IS EVEN 00854000
  893. IC R8,SWPKEY2 GET THE KEY FOR THE ODD HALF PAGE 00855000
  894. CPUSPF EQU * 00856000
  895. SRL R3,11 PUT THE FAILING STORAGE ADDRESS 00857000
  896. SLL R3,11 ON A 2K BOUNDARY 00858000
  897. O R8,F6 TURN ON THE CHANGE AND REFERENCE 00859000
  898. * BITS 00860000
  899. SSK R8,R3 RESTORE THE PROPER KEY TO THE 00861000
  900. * FAILING STORAGE LOCATION 00862000
  901. L R8,MCHREC RELOAD MCH RECORD PTR @V4M0144 00863000
  902. OI MCHFLAG0,MCH0SFTR INDICATE SOFTWARE RECOVERY 00864000
  903. OI MCHFLAG4,MCH4REPA INDICATE REPAIR IN THE DAMAGE 00865000
  904. * ASSESSMENT AREA 00866000
  905. SR R0,R0 SEND NO MESSAGE TO THE OPERATOR 00867000
  906. B OPMSG2 GO TO OPERATOR MESSAGE ROUTINE 00868000
  907. SPFTERM EQU * 00869000
  908. TM MCHFLAG7,MCH7OPSW IS VIRTUAL MACHINE ACTIVE ? @VA08064 00869100
  909. BO SIG0016U YES, CONTINUE PROCESSING @VA08064 00869400
  910. SIGNAL START RESTART THE OTHER PROCESSOR @V4M0144 00870000
  911. SIG0016U DS 0H @VA08064 00870500
  912. L R8,MCHREC RELOAD MCH RECORD PTR @V4M0144 00871000
  913. MVC MCNPSW(8),STGSVE RESTORE MACHINE CHECK NEW PSW 00872000
  914. * TO THE SECONDARY HANDLER 00873000
  915. LPSW SPFDIE ENABLE FOR HARD MACHINE CHECKS 00874000
  916. SPFTERMA EQU * 00875000
  917. OI MCHFLAG3,MCH3SOLD INDICATE SOLID ERROR 00876000
  918. * IN DAMAGE ASSESSMENT AREA 00877000
  919. OI MCHPDAR1,MCHP1SKE INDICATE SOLID SPF ERROR 00878000
  920. TM MCHFLAG7,MCH7OPSW WAS THE VIRTUAL USER ACTIVE ? 00879000
  921. BZ MCHCPU NO, PUT SYSTEM DOWN @V407510 00880000
  922. BAL R5,GETLOCK OBTAIN SYSTEM LOCK @V407510 00881000
  923. B VRTSPF MAKE PAGE UNAVAILABLE @V407510 00882000
  924. EJECT 00883000
  925. SPACE 00884000
  926. SPACE 00885000
  927. *********************************************************************** 00886000
  928. * VIRTUAL MACHINE TERMINATION ROUTINE 00887000
  929. *********************************************************************** 00888000
  930. SPACE 00889000
  931. VIRTERM EQU * 00890000
  932. BAL R5,GETLOCK OBTAIN SYSTEM LOCK @V4M0144 00891000
  933. OI MCHFLAG0,MCH0USAD SET THE USER ABORTED FLAG 00892000
  934. BAL R4,FUMAT GO FORMAT THE MACHINE CHECK RECORD 00893000
  935. ******************************************************************** 00894000
  936. NOURMSG EQU * 00895000
  937. MVC MSGCDE(3),VMS19 SETUP MESSAGE ID IN BUFFER 00896000
  938. MVC MSGCDE+4(35),VMSGTA MOVE MESSAGE INTO BUFFER 00897000
  939. LA R0,MSGLN GET LENGTH OF FULL AREA @V407510 00898000
  940. LA R1,MCHMSG GET THE ADDRESS OF THE MESSAGE TEXTS 00899000
  941. CALL DMKQCNWT,PARM=NORET,AFFINITY @V407510 00900000
  942. MVI MSGBUF,BLANK CLEAR BUFFER @V407510 00901000
  943. MVC MSGBUF+ONE(L'MSGBUF-1),MSGBUF CLEAR BUFFER @V407510 00902000
  944. MVC MSGCDE(3),MSG8 SETUP THE MESSAGE ID IN THE BUFFER 00903000
  945. MVC MSG8A+7(8),VMUSER MOVE THE USERID INTO BUFFER 00904000
  946. MVC MSGBUF(28),MSG8A MOVE MESSAGE TEXTS INTO BUFFER 00905000
  947. LA R0,MSGLN GET LENGTH OF FULL AREA @V407510 00906000
  948. LA R1,MCHMSG GET THE MESSAGE BUFFER ADDRESS 00907000
  949. OI MCHPDAR7,MCH7EXIT SET EXIT INTERFACE'S FLAG 00908000
  950. CALL DMKQCNWT,PARM=OPERATOR+ALARM,AFFINITY @V407510 00909000
  951. MVI MSGBUF,BLANK CLEAR BUFFER @V407510 00910000
  952. MVC MSGBUF+ONE(L'MSGBUF-1),MSGBUF CLEAR BUFFER @V407510 00911000
  953. NI MCHPDAR7,X'FF'-MCH7EXIT CLEAR EXIT INTERFACE'S FLAG 00912000
  954. TM MCHFLAG7,MCH7VEQR IS TERMINATION SET FOR V=R USER 00913000
  955. BZ MCHRESET NO, GO RESET VIRTUAL USER 00914000
  956. OI VMOSTAT,VMKILL DMKDSPCH WILL LOGOFF USER @V200820 00915000
  957. OI VMSVSTAT,VMLGFORC INDICATE HE WAS FORCED OFF @VA13026 00915500
  958. B MCHDISP GO RETURN TO THE DISPATCHER 00916000
  959. MCHRESET EQU * 00917000
  960. OI MCHPDAR7,MCH7RSRE SET THE RESET AND RELEASE 00918000
  961. * INTERFACE'S FLAG 00919000
  962. SPACE 00920000
  963. CALL DMKCFPRR,AFFINITY @V407510 00921000
  964. SR R2,R2 IND CLEAR OPTION 00922000
  965. CALL DMKPGSPO,AFFINITY @V407510 00923000
  966. NI VMRSTAT,X'FF'-VMEXWAIT MARK USER DISPATCHABLE 00924000
  967. CALL DMKCFMBK,AFFINITY @V407510 00925000
  968. NI MCHPDAR7,X'FF'-MCH7RSRE CLEAR THE RESET AND RELEASE 00926000
  969. * INTERFACE'S FLAG 00927000
  970. B MCHDISP GO TO DISPATCHER @V407510 00928000
  971. *********************************************************************** 00929000
  972. * FORMAT THE MACHINE CHECK RECORD 00930000
  973. *********************************************************************** 00931000
  974. SPACE 00932000
  975. FUMAT EQU * 00933000
  976. BAL R5,GETLOCK OBTAIN SYSTEM LOCK @V4M0144 00934000
  977. CLI MCHMODEL,MODEL145 IS THIS A MODEL 145/148 @V386298 00935000
  978. BE MCHFORT YES, GO FORMAT THE RECORD 00936000
  979. CLI MCHMODEL,MODEL135 IS THIS A MODEL 135/138 @V386298 00937000
  980. BE MCHFORT YES, GO FORMAT THE RECORD 00938000
  981. TM MCIC,DGBIT IS THE DEGRADATION INDICATOR ON ? 00939000
  982. BZ MCHFORT NO, GO FORMAT THE RECORD 00940000
  983. OI MCHFLAG1,MCH1BUFF SET THE INDICATOR FOR BUFFER 00941000
  984. * ERROR 00942000
  985. OI MCHFLAG4,MCH4BURE INDICATE BUFFER RECONFIGURATION 00943000
  986. MVC MSGCDE(3),MSG16 MOVE MESSAGE ID INTO BUFFER 00944000
  987. MVC MSGBUF(MSG16L),MSG16B MOVE TEXT INTO BUFFER @V4M0200 00945000
  988. LA R0,MSGLN GET LENGTH OF FULL AREA @V407510 00946000
  989. LA R1,MCHMSG GET THE ADDRESS OF THE BUFFER 00947000
  990. * ERROR MESSAGE 00948000
  991. CALL DMKQCNWT,PARM=OPERATOR+ALARM+NORET,AFFINITY @V407510 00949000
  992. MVI MSGBUF,BLANK CLEAR BUFFER @V407510 00950000
  993. MVC MSGBUF+ONE(L'MSGBUF-1),MSGBUF CLEAR BUFFER @V407510 00951000
  994. MCHFORT EQU * 00952000
  995. XC MCREC(40),MCREC CLEAR MACHINE CHECK RECORD HEADER 00953000
  996. MVC MCRECTYP(8),HEADERFD GET THE HEADER INFORMATION 00954000
  997. MVC MCCPUID(8),CPUID MOVE CPUID INTO RECORD 00955000
  998. MVC MCPROGID(8),VMUSER MOVE USER NAME INTO RECORD 00956000
  999. TM MCHFLAG7,MCH7OPSW WAS VIRTUAL USER ACTIVE ? 00957000
  1000. BO MCHRECOD YES, GO SETUP RECORD LENGTH 00958000
  1001. MVC MCPROGID(8),CPEYED MOVE CP/370 NAME INTO RECORD 00959000
  1002. MCHRECOD EQU * 00960000
  1003. LR R6,R8 GET THE ADDRESS OF THE MACHINE @V4M0196 00961000
  1004. * CHECK RECORD 00962000
  1005. LH R7,MCFXDLOG+6 GET THE LENGTH OF THE EXTENDED LOGOUT 00963000
  1006. LA R7,MCHFIX(R7) ADD THE LENGTH OF THE FIXED 00964000
  1007. * LOGOUT AND RECORD HEADER 00965000
  1008. LA R7,MCHLEN1(R7) ADD THE LENGTH OF THE DAMAGE 00966000
  1009. * ASSESSMENT AREA 00967000
  1010. A R7,F8 PUT LENGTH ON A DOUBLEWORD BOUNDARY 00968000
  1011. SRL R7,3 DIVIDE BY 8 00969000
  1012. OI MCHPDAR7,MCH7IOEM SET THE INTERFACE'S FLAG FOR 00970000
  1013. * THE RECORDER 00971000
  1014. SR R0,R0 CLEAR RETURN CODE REGISTER @VA03358 00972000
  1015. CALL DMKIOEMC,AFFINITY @V407510 00973000
  1016. NI MCHPDAR7,X'FF'-MCH7IOEM CLEAR THE INTERFACE'S 00974000
  1017. * FLAG FOR THE RECORDER 00975000
  1018. * RECORD 00976000
  1019. LTR R0,R0 WAS THE RECORDING SUCCESSFUL ? 00977000
  1020. BC 8,0(R4) YES, GO RETURN TO IN LINE CODE 00978000
  1021. LA R0,MSG10L GET THE LENGTH OF THE MESSAGE 00979000
  1022. LA R1,MSG10B GET THE ADDRESS OF THE MESSAGE 00980000
  1023. CALL DMKQCNWT,PARM=OPERATOR+ALARM+NORET,AFFINITY @V407510 00981000
  1024. MVI MSGBUF,BLANK CLEAR BUFFER @V407510 00982000
  1025. MVC MSGBUF+ONE(L'MSGBUF-1),MSGBUF CLEAR BUFFER @V407510 00983000
  1026. BR R4 RETURN TO IN LINE CODE 00984000
  1027. SPACE 00985000
  1028. SPACE 00986000
  1029. ********************************************************************* 00987000
  1030. EJECT 00988000
  1031. ********************************************************************** 00989000
  1032. * TERM ROUTINE 00990000
  1033. ********************************************************************** 00991000
  1034. SPACE 00992000
  1035. TERM EQU * 00993000
  1036. BALR R15,R0 ESTABLISH ADDRESSABILITY FOR HANDLER 00994000
  1037. USING *,R15 00995000
  1038. L R12,=A(DMKMCH) RESET THE BASE 00996000
  1039. DROP R15 00997000
  1040. USING DMKMCH,R12 00998000
  1041. MVC MCNPSW(8),WAITMCH MOVE WAIT PSW INTO MACHINE 00999000
  1042. * CHECK NEW PSW 01000000
  1043. LPSW MCHTERM1 ENABLE FOR HARD MACHINE CHECKS 01001000
  1044. MCHTERM2 EQU * 01002000
  1045. L R9,AMCHAREA GET ADDRESS OF MCHAREA @VA09061 01003300
  1046. L R8,MCHREC GET ADDRESS OF MCH RECORD @VA09061 01003600
  1047. L R11,MCFXDLOG+152+4*R11 GET THE VMBLOK ADDRESS @VM08879 01004000
  1048. LA R3,MSG3 SETUP MESSAGE FOR SYSTEM INTEGRITY 01005000
  1049. * LOST 01006000
  1050. TM MCHFLAG7,MCH7SMCR IS THE RECURSION INDICATOR ON ? 01007000
  1051. BO OPCOM YES, GO SCHEDULE SYSTEM MESSAGE 01008000
  1052. OI MCHFLAG7,MCH7SMCR SET THE RECURSION INDICATOR 01009000
  1053. TM MCHPDAR7,X'FE' IS THE MACHINE CHECK 01010000
  1054. * HANDLER ACTIVE ? 01011000
  1055. BNZ OPCOM NO, GO SCHEDULE SYSTEM MESSAGE 01012000
  1056. TM MCHFLAG0,MCH0HDWR IS THE HARDWARE RECOVERY 01013000
  1057. * INDICATOR ACTIVE ? 01014000
  1058. BZ OPCOM NO, GO SCHEDULE SYSTEM MESSAGE 01015000
  1059. MVC MCNPSW(8),STGSVE RESTORE THE ADDRESS OF THE 01016000
  1060. * SECONDARY HANDLER 01017000
  1061. SR R0,R0 SEND NO MESSAGE 01018000
  1062. B OPMSG2 GO TO THE MESSAGE ROUTINE 01019000
  1063. SPACE 01020000
  1064. *********************************************************************** 01021000
  1065. * OPERATOR COMMUNICATION ROUTINE 01022000
  1066. *********************************************************************** 01023000
  1067. DMKMCHST DS 0H SYSTEM TERMINATION @V407510 01024000
  1068. USING *,R12 TEMPORARY ADDRESSABILITY @V4M0175 01025000
  1069. L R12,MCHBASE GET COMMON BASE REGISTER @V407510 01026000
  1070. USING DMKMCH,R12 COMMON ADDRESSABILITY @V407510 01027000
  1071. ST R2,WAITCODE SAVE WAIT STATE CODE @V4M0175 01028000
  1072. AIF (NOT &AP).MCTST5 01028900
  1073. TM APSTAT1,APUOPER AP MODE? @V407510 01029000
  1074. BZ CALLOPR NO, CALL DMKOPRWT @V407510 01030000
  1075. GOTO DMKMCTST YES, USE AP MODULE TO TERMINATE @V407510 01031000
  1076. AGO .MCTST6 01031100
  1077. .MCTST5 ANOP 01031200
  1078. B CALLOPR CALL DMKOPRWT @V407510 01031300
  1079. .MCTST6 ANOP 01031400
  1080. SPACE 01032000
  1081. OPCOM EQU * 01033000
  1082. AIF (NOT &AP).MCTPT4 01033900
  1083. TM APSTAT1,APUOPER AP MODE? @V407510 01034000
  1084. BZ SETMSG NO, SET UP MSG @V407510 01035000
  1085. GOTO DMKMCTPT YES, USE AP TERMINATION @V407510 01036000
  1086. .MCTPT4 ANOP 01036100
  1087. SETMSG DS 0H @V407510 01037000
  1088. MVI MSGBUF,BLANK CLEAR BUFFER @V407510 01038000
  1089. MVC MSGBUF+ONE(L'MSGBUF-1),MSGBUF CLEAR BUFFER @V407510 01039000
  1090. OI MCHFLAG0,MCH0TERM THE OPERATING SYSTEM TERMINATED 01040000
  1091. MVI MCHFLAG6,MCHCODE PUT WAIT STATE CODE IN @V4M0175 01041000
  1092. * DAMAGE ASSESSMENT AREA @V4M0175 01042000
  1093. L R2,0(0,R3) PICK UP MESSAGE NUMBER AND LENGTH@V200820 01043000
  1094. STCM R2,B'1110',MSGCDE PUT CODE INTO THE MSG HDR @V200820 01044000
  1095. N R2,F255 SAVE ONLY THE MESSAGE LENGTH @V200820 01045000
  1096. S R2,F3 SUBTRACT 3 FROM LENGTH @V407510 01046000
  1097. * 2 FOR CONTROL, 1 FOR EXECUTE @V407510 01047000
  1098. EX R2,EMSGMVC MOVE THE MESSAGE TEXT TO 'MSGBUF'@V200820 01048000
  1099. LA R0,MSGLN GET LENGTH OF MESSAGE @V407510 01049000
  1100. LA R1,MCHMSG START OF THE MESSAGE DATA @V200820 01050000
  1101. CALLOPR DS 0H @V407510 01051000
  1102. CALL DMKOPRWT,PARM=ALARM EMERGENCY WRITE TO OPERATO@V200820 01052000
  1103. L R14,PREFIXA GET OWN PREFIX REG @V4M0175 01056000
  1104. CLC CPID-PSA(4,R14),WARM IS WARM INDICATED IN ID @V4M0144 01057000
  1105. BNE MCHCKP NO, DON'T CHANGE ID @VA00881 01058000
  1106. MVC CPID-PSA(4,R14),CPCP MOVE ID IN FOR CHECKPOINT @V4M0144 01059000
  1107. MCHCKP EQU * @VA00881 01060000
  1108. LPSW WAITMCH ENTER DISABLED WAIT 01061000
  1109. SPACE 01062000
  1110. EMSGMVC MVC MSGBUF(*-*),4(R3) @V200820 01063000
  1111. EJECT 01064000
  1112. WAITMCH DS 0D 01246000
  1113. DC X'0002',X'0000' WAIT PSW, RUN SEREP @V4M0175 01247000
  1114. WAITCODE DC X'00000001' WAIT STATE CODE @V4M0175 01248000
  1115. SPACE 01249000
  1116. HARDPSW DS 0D 01250000
  1117. DC X'000C0000' ALLOW HARD MACHINE CHECKS 01251000
  1118. DC A(ENBHARD) 01252000
  1119. MCHTERM1 DS 0D 01253000
  1120. DC X'000C0000' 01254000
  1121. DC A(MCHTERM2) ALLOW HARD MACHINE CHECKS IN TERM 01255000
  1122. SPFOKPSW DS 0D 01256000
  1123. DC X'000C0000' 01257000
  1124. DC A(SPFMSG) 01258000
  1125. SPFDIE DS 0D 01259000
  1126. DC X'000C0000' 01260000
  1127. DC A(SPFTERMA) 01261000
  1128. STGSVE DS 0D 01262000
  1129. DC X'00080000' 01263000
  1130. DC A(TERM) ADDRESS OF THE SECONDARY HANDLER 01264000
  1131. CR14MSK DC X'80400000' MASK TO PREVENT SOFT MACHINE CHECKS 01265000
  1132. * IN V=R AREA 01266000
  1133. * REFERENCE BITS 01267000
  1134. SAVECR14 DC F'0' SAVE AREA FOR CONTROL REGISTER 14 01268000
  1135. CR14ENB DC F'0' WORK AREA TO STORE CONTROL 01270000
  1136. * REGISTER 14 01271000
  1137. TWOK DC H'2048' LENGTH FOR STORAGE VALIDATION @VA09891 01271150
  1138. DS 0F 01271200
  1139. MCHMASK DC X'00FFF800' MASK TO ROUND TO 2K BOUNDARY @V60A6B6 01271300
  1140. ********************************************************************** 01272000
  1141. CPEYED DC C' CP/370' PROGRAM ID FOR CP 01274000
  1142. HEADERFD DC X'1066400000000000' MCH RECORD HEADER INFO. @VA10800 01278150
  1143. ********************************************************************** 01279000
  1144. MCREGS DS 2F @VA11098 01279010
  1145. EJECT 01280000
  1146. SWITCH DC X'00' SWITCH FOR MAIN STORAGE EXERCISE RTN. 01281000
  1147. OFF EQU X'FF' MASK TO TURN BIT OFF @V407510 01284000
  1148. DMKMCHLM EQU * @VA10453 01284100
  1149. CPULIMIT DC F'0' COUNT FIELD FOR SOFT ERRORS @V407510 01285000
  1150. SOFTCT EQU CPULIMIT+3 LOW BYTE OF CPULIMIT @V407510 01286000
  1151. MCHBASE DS 0F COMMON BASE VALUE @V407510 01287000
  1152. DC X'0' @V407510 01288000
  1153. DC AL3(DMKMCH) DMKMCH BASE ADDRESS @V407510 01289000
  1154. WARM DC CL4'WARM' CHARACTERS FOR CPID @V4M0144 01290000
  1155. CPCP DC CL4'CPCP' CHARACTERS FOR CPID @V4M0144 01291000
  1156. SPACE 2 01292000
  1157. * THE FOLLOWING FIELD IS SERIALIZED BY SYSTEM LOCK 01293100
  1158. SPACE 01294000
  1159. WORK DC D'0' WORK AREA FOR CONVERSION @V407510 01295000
  1160. WORKLO EQU WORK+6 SIGNIFICANT DIGITS AFTER UNPK @V407510 01296000
  1161. ********************************************************************** 01302000
  1162. * THE DIAGNOSE SUPPORT FOR ALL 01303000
  1163. * THE MACHINE MODELS 01304000
  1164. ********************************************************************** 01305000
  1165. DS 0D 01306000
  1166. ECCDIS55 DC X'0300D100' DISABLE ECC FOR MODEL 155 01311000
  1167. DS 0D 01312000
  1168. ECCENA55 DC X'0400D100' ENABLE ECC FOR THE MODEL 155 01313000
  1169. DS 0D 01314000
  1170. ECCDIS65 DC X'0200000003000000' DISABLE ECC FOR MODEL 165 01317000
  1171. ECCENA65 DC X'0200000000000000' ENABLE ECC FOR MODEL 165 01318000
  1172. ********************************************************************** 01320000
  1173. MCHCODE EQU X'01' WAIT STATE CODE FOR DMKMCH @V4M0175 01321000
  1174. EJECT 01322000
  1175. *********************************************************************** 01323000
  1176. * EQUATES TO LOW CORE INFORMATION 01324000
  1177. ********************************************************************** 01325000
  1178. SPACE 01326000
  1179. MCIC EQU 232 MACHINE CHECK INTERRUPT CODE 01327000
  1180. SPACE 01328000
  1181. SUBCLASS EQU 232 SUBCLASS CODES 01329000
  1182. SDBIT EQU X'80' SYSTEM DAMAGE BIT 01330000
  1183. PDBIT EQU X'40' PROCESSING DAMAGE BIT 01331000
  1184. SRBIT EQU X'20' SYSTEM RECOVERY BIT 01332000
  1185. TDBIT EQU X'10' TIMER DAMAGE 01333000
  1186. CDBIT EQU X'08' CLOCK DAMAGE 01334000
  1187. EDBIT EQU X'04' EXTERNAL DAMAGE 01335000
  1188. ERBIT EQU X'02' EXTERNAL RECOVERY (NOT USED) 01336000
  1189. DGBIT EQU X'01' DEGRADATION BIT 01337000
  1190. SPACE 01338000
  1191. TENSE EQU 233 TENSE CODES 01339000
  1192. BVBIT EQU X'02' VALID RETRY CONDITION EXISTS 01340000
  1193. DLBIT EQU X'01' MACHINE CHECK CODE=OR'ED VALUE 01341000
  1194. SPACE 01342000
  1195. STOERR EQU 234 STORAGE ERROR CODES,BITS 0-3 01343000
  1196. SEBIT EQU X'80' UNCORRECTED STORAGE ERROR 01344000
  1197. SCBIT EQU X'40' CORRECTED STORAGE ERROR 01345000
  1198. PEBIT EQU X'20' UNCORRECTED PROTECTION ERROR 01346000
  1199. SPACE 01347000
  1200. VALID1 EQU 234 PSW VALIDITY CODES, BITS 4-7 01348000
  1201. WPBIT EQU X'08' BITS 12-15 OF MC OLD PSW ARE VALID 01349000
  1202. MSBIT EQU X'04' SYSTEM MASK OF MC OLD PSW VALID 01350000
  1203. PMBIT EQU X'02' PROGRAM MASK OF MC OLD PSW VALID 01351000
  1204. IABIT EQU X'01' IAR OF MC OLD PSW IS VALID 01352000
  1205. SPACE 01353000
  1206. VALID2 EQU 235 MISC VALIDITY CODES,BITS 0-7 01354000
  1207. FABIT EQU X'80' FAILING STORAGE ADDRESS IS VALID 01355000
  1208. RCBIT EQU X'40' REGION CODE IS VALID (ECC OR CWA 01356000
  1209. ECBIT EQU X'20' EXT. DAMAGE REASON CODE VALID @V5088AA 01356100
  1210. FPBIT EQU X'10' FP REGISTERS STORED ARE VALID 01357000
  1211. GRBIT EQU X'08' GP REGISTERS STORED ARE VALID 01358000
  1212. CRBIT EQU X'04' CONTROL REGISTERS STORED ARE VALID 01359000
  1213. LGBIT EQU X'02' EXTENDED LOGOUT AREA IS VALID 01360000
  1214. STBIT EQU X'01' INST. MODIFIED STORAGE IS VALID 01361000
  1215. SPACE 01362000
  1216. VALID3 EQU 236 RESERVED 01363000
  1217. SPACE 01364000
  1218. MCELL EQU 238 EXTENDED LOGOUT LENGTH 01365000
  1219. SPACE 01366000
  1220. RES2 EQU 240 RESERVED AREA 2 01367000
  1221. FSA EQU 248 FAILING STORAGE ADDRESS 01368000
  1222. CWA EQU 252 CONTROL WORD ADDRESS 01369000
  1223. ECCBITS EQU 254 ERROR CORRECTION CODE BITS 01370000
  1224. SPACE 01371000
  1225. REGION EQU 255 REGION CODE (FOR 145) 01372000
  1226. CSFATAL EQU X'08' MULTI-BIT CONTROL STORAGE ERROR 01373000
  1227. CSTHRESH EQU X'04' CONTROL STG. THRESHOLD EXCEEDED (145) 01374000
  1228. CSRECOVR EQU X'03' SINGLE BIT FAILURE IN CONTROL STORAGE 01375000
  1229. MSRECOVR EQU X'02' SINGLE BIT FAILURE IN MAIN STORAGE 01376000
  1230. SPACE 01377000
  1231. FLA EQU 232 FIXED LOGOUT AREA 01378000
  1232. XD8 EQU X'D8' MACHINE CHECK CPU TIMER AREA @VM08879 01379000
  1233. PSWA EQU 4 LENGTH OF ADDRESS IN PSW @V407510 01380000
  1234. LNADDR EQU 4 LENGTH OF ADDRESS @V407510 01381000
  1235. ZERO EQU 0 CONSTANT OF ZERO @V407510 01382000
  1236. MCCR14 EQU 272 CR 14 IN LOG OUT AREA @V407510 01383000
  1237. MAXSOFT EQU 12 MAXIMUM SOFT ERROR COUNT @V407510 01384000
  1238. L3B EQU 7 STCM MASK FOR LOW 3 BYTES @V407510 01385000
  1239. ONE EQU 1 DISPLACEMENT OF 1 @V407510 01386000
  1240. LN2 EQU 2 LENGTH OF 2 @V407510 01389000
  1241. ZONE EQU X'F0' ZONE USED FOR CONVERSION @V407510 01390000
  1242. BLANK EQU X'40' BLANK CHARACTER @V407510 01391000
  1243. CMWP EQU 1 PSW CMWP FIELD @V4M0144 01397000
  1244. *********************************************************************** 01398000
  1245. EJECT 01399000
  1246. ********************************************************************** 01400000
  1247. SPACE 01401000
  1248. SPACE 01402000
  1249. SPACE 01403000
  1250. SPACE 01404000
  1251. MCMSGL EQU 27 01405000
  1252. MCHMSG DC X'151515' 01406000
  1253. MCHID DC C'DMKMCH6' 01407000
  1254. MSGCDE DC C'10W ' @V4M0217 01408000
  1255. DC C'MACHINE CHECK' 01409000
  1256. MSGBUF DC CL35' ' @V4M0217 01410000
  1257. MSGPROC DC 2C' ' PROCESSOR ADDRESS @V407510 01411000
  1258. DC XL2'1515' CONTROL CHARACTERS @V4M0217 01412000
  1259. MSGLN EQU *-MCHMSG LENGTH OF MESSAGE @V407510 01413000
  1260. VMSGTA DC C'MACHINE CHECK; OPERATION TERMINATED' 01414000
  1261. VMSGT EQU *-VMSGTA 01415000
  1262. VMS19 DC C'19I' 01416000
  1263. MSG2 DC C'10W' @V4M0217 01417000
  1264. MSG2A DC X'15' 01418000
  1265. MSG2B DC C'; SUPERVISOR DAMAGE ' @VA09163 01419100
  1266. MSG2C DC C'; EXTERNAL DAMAGE ' @VA09163 01419600
  1267. MSG3 DC C'11W' @V4M0217 01420000
  1268. MSG3A DC X'19' 01421000
  1269. MSG3B DC C'; SYSTEM INTEGRITY LOST ' @VA09163 01422500
  1270. VMS24 DC C'24I' @VA13689 01422600
  1271. MSG4 DC C'12W' 01423000
  1272. MSG4A DC X'1C' 01424000
  1273. MSG4B DC C'; TIMING FACILITIES DAMAGE ' @VA09163 01425500
  1274. MSG8 DC C'16I' 01426000
  1275. MSG8A DC C'; USER XXXXXXXX TERMINATED ' @VA09163 01427500
  1276. MSG10B DC X'1515' 01428000
  1277. DC C'DMKMCH615I MACHINE CHECK RECORDING FAILURE',X'1515' 01429000
  1278. MSG10L EQU *-MSG10B 01430000
  1279. MSG13 DC C'14I' 01431000
  1280. MSG13B DC C'; DAMAGED PAGE NOW DELETED ' @VA09163 01432500
  1281. MSG15 DC C'13I SOFT MACHINE CHECK RECORDING DISABLED ' @VA09163 01433500
  1282. MSG16 DC C'17I' 01434000
  1283. MSG16B DC C'; BUFFER OR DLAT DAMAGE ' @VA09163 01435500
  1284. MSG16L EQU *-MSG16B LENGTH OF DMKMCH616I @V4M0200 01436000
  1285. MSG17 DC C'22W' @V5088AA 01446100
  1286. MSG17A DC X'1B' @V5088AA 01446200
  1287. MSG17B DC C'; MULTIPLE CHANNEL ERRORS ' @VA09163 01446500
  1288. ********************************************************************** 01447000
  1289. EJECT 01448000
  1290. LTORG 01449000
  1291. EJECT 01450000
  1292. COPY MCHAREA @V407510 01451000
  1293. COPY MCRECORD 01452000
  1294. COPY SAVE 01453000
  1295. COPY VMBLOK 01454000
  1296. COPY MICBLOK 01455000
  1297. PSA 01456000
  1298. COPY CORE 01457000
  1299. COPY EQU 01458000
  1300. COPY RBLOKS 01459000
  1301. COPY DEVTYPES 01460000
  1302. END DMKMCH @V200820 01461000