IDENT 1MC,MTC PERIPH BASE MIXED SST *COMMENT 1MC - MONITOR PARITY ERROR REPORTING. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. TITLE 1MC - MONITOR PARITY ERROR REPORTING. SPACE 4 *** 1MC - MONITOR PARITY ERROR REPORTING. * W. E. GOEBEL 75/08/25. SPACE 4 *** *1MC* IS CALLED BY *CPUMTR* TO REPORT ECS PARITY * ERRORS. *1MC* IS FORCED CM RESIDENT BY *SLL* WHEN ECS * IS PRESENT. THIS IS NEEDED BECAUSE *1MC* CAN BE CALLED * DIRECTLY BY *CPUMTR* MONITOR MODE. IN THIS CASE *CPUMTR* * IS WAITING FOR *1MC* TO INDICATE IT IS READY TO RECIEVE * DATA. BECAUSE OF THIS *1MC* MUST NOT DEPEND UPON ISSUING * ANY MONITOR FUNCTION TO LOAD. THUS THE CM RESIDENCE * REQUIREMENT. * *1MC* PERFORMS THE BUFFERING IN OF ERROR DATA AND * THEN CALLS *2MN* TO FORMAT AND ISSUE THE ACTUAL ERROR * MESSAGES. THIS IS TO KEEP THE CM REQUIREMENT OF *1MC* AT * A MINIMUM. IT SHOULD BE NOTED THAT *2MN* SHOULD NEVER * BE ECS RESIDENT. SPACE 4 *** CALL. * * *T IR 18/ *1MC*,6/ SCP,12/ EST,6/ RW,18/ WC * SCP SYSTEM CONTROL POINT NUMBER. * EST EXTENDED MEMORY EST ORDINAL. * RW READ / WRITE FLAG. * 1 = READ * 2 = WRITE * WC WORD COUNT OF BLOCK TRANSFER. * *T,MB 36/, 24/ CB * CB COMMUNICATIONS BUFFER ADDRESS. * * ECS ERROR INFORMATION IS BUFFERED FROM *CPUMTR* VIA A * COMMUNICATIONS BUFFER. IT IS *1MC*-S RESPONSIBILITY TO * CLEAR THE BUFFER INTERLOCK AFTER IT READS THE DATA. * THIS BUFFER HAS THE FOLLOWING FORMAT - * *T,CB 1/ C, 47/ ,12/ IL *T,CB+1 6/, 6/ CD, 6/ RT, 18/ CMA, 24/ ECA *T,CB+2 60/ BAD DATA *T,CB+3 60/ GOOD DATA * . * . * . *T,CB+N 60/0 * * C COMPLETE FLAG (SIGNALS *1MC* TO READ DATA). * IL BUFFER INTERLOCK (NON-ZERO WHEN SET). * CD 3/, 1/ RU, 1/ BD, 1/ GD * RU = RECOVERED / UNRECOVERED FLAG. * 0 = RECOVERED * 1 = UNRECOVERED * BD = 1 IF BAD DATA PRESENT. * GD = 1 IF GOOD DATA PRESENT. * RT RETRY COUNT. * CMA CM ADDRESS OF TRANSFER. * ECA ECS ADDRESS OF TRANSFER. * * THE ERROR DATA IS TERMINATED BY A ZERO WORD. SPACE 4 *** OPERATOR MESSAGES. * * * * USER ECS DISABLED.* DUE TO UNRECOVERED ECS PARITY * ERRORS SCHEDULING OF USER ECS JOBS HAS * BEEN DISABLED. SPACE 4 *CALL COMPMAC *CALL COMSCPS *CALL COMSDFS *CALL COMSEVT *CALL COMSMSC *CALL COMSMSP *CALL COMSPIM SPACE 4 ** DIRECT LOCATION ASSIGNMENTS. ZR EQU 20 - 24 ZERO WORD BP EQU 25 BUFFER POINTER CN EQU 30 RECOVERED/UNRECOVERED FLAG TITLE MACRO DEFINITIONS. SPACE 4,10 ** OVERLAY CONTROL. .N SET 0 OVLB MICRO 1,, 2M BASE OVERLAY NAME OVERLAY SPACE 4,10 ** OVERLAY - GENERATE OVERLAY CONSTANTS. * * * OVERLAY (TEXT),LADDR * * ENTRY *TEXT* = TEXT OF SUBTITLES. * *LADDR* = LOAD ADDRESS FOR OVERLAY, DEFAULT OVL. PURGMAC OVERLAY OVERLAY MACRO TEXT,OVL MACREF OVERLAY QUAL .N SET .N+1 .M MICRO .N,1, NOPQRSTUVWXYZ .O MICRO 1,3, "OVLB"".M" QUAL ".O" TTL 1MC/".O" - TEXT TITLE IDENT ".O",OVL TEXT *COMMENT 1MC - TEXT COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. ORG OVL ENDM SPACE 4 TITLE MTC - BUFFER IN ERROR DATA. MTC SPACE 4 ** MTC - MAIN PROGRAM. ORG PPFW MTC LDD MP+3 ASSEMBLE BUFFER ADDRESS RAM MTCA-1 STM MTCB-1 LDD MP+4 STM MTCA STM MTCB LDN ZERL SET ZERO WORD CRD ZR LDN MCBL BUFFER LENGTH STD T1 MTC1 LDC ** READ BUFFER MTCA EQU *-1 COMMUNICATIONS BUFFER ADDRESS CRM BUF,T1 LDM BUF SHN 21-13 PJN MTC1 IF BUFFER NOT COMPLETE LDC ** CLEAR BUFFER INTERLOCK MTCB EQU *-1 COMMUNICATIONS BUFFER ADDRESS CWD ZR EXECUTE 2MN SPACE 4 OVL EQU PPFW BUF EQU PPFW-5+500*2 ALLOW TWO SECTORS FOR *2MN* BUFL EQU MCBL*5 BUFFER LENGTH MXBL EQU EPFW-5*3+1 MAXIMUM BUFFER LENGTH ERRNG MXBL-BUF-BUFL CHECK BUFFER OVERFLOW TTL 1MC/2MC - PROCESS ERROR DATA. TITLE MAIN ROUTINE. OVERLAY (PROCESS ERROR DATA.),OVL SPACE 4 *** 2MN - REPORT PARITY ERRORS. PEM LJM * ENTRY * SET UP THOSE FIELDS IN THE BML MESSAGE WHICH ARE CONSTANT * FOR ALL ERRORS. LDN PARE SET ERROR CODE STM MSGA+12 LDC /COMSDFS/HS0040+/COMSDFS/D1MC*400 STM MSGA+1 LDK MMFL ADD MACHINE ID TO MESSAGE CRD CM LDD CM STM MSGA+10 LDD IR+2 ADD EST ORDINAL TO MESSAGE STM MSGA+5 * DETERMINE THE MESSAGE ID WHICH CORRESPONDS WITH THIS DEVICE * AND ADD IT TO THE BML MESSAGE HEADER. SFA EST GET EST ENTRY FOR DEVICE ADK EQDE CRD CM LDD CM+4 GET WORD *DILL* FROM THE MST SHN 3 ADK DILL CRD CM LDN PEMBL STD T1 PEM1 LCN 2 SCAN TABLE FOR A MATCH RAD T1 ZJN PEM2 IF DEVICE NOT FOUND IN TABLE LDM PEMB-2,T1 LMD CM+3 LPC 707 NJN PEM1 IF A MATCH HAS NOT YET BEEN FOUND LDM PEMB-1,T1 PEM2 STM MSGA+0 ADD MESSAGE ID TO MESSAGE * FOR EACH ERROR IN THE BUFFER, ISSUE A BML ERROR MESSAGE. LDC BUF+5 STD BP SET BUFFER POINTER LDN ZERL SET END OF DATA CRM BUF+MCBL*5,ON PEM3 LDM 1,BP CHECK FOR END OF BUFFER ZJN PEM4 IF NO MORE MESSAGES IN BUFFER RJM IBM ISSUE BML MESSAGE LDN 3*5 ADVANCE POINTER TO NEXT ERROR IN BUFFER RAD BP UJN PEM3 CHECK FOR ANOTHER MESSAGE PEM4 MONITOR DPPM LJM PPR RETURN TO PP RESIDENT MSGA BSSZ 6*5 BML MESSAGE BUFFER SPACE 4,10 PEMB BSS 0 TABLE OF MESSAGE IDENTIFERS CON 112,/COMSDFS/RM0070 (DP) ECS I - DC135 DDP CON 110,/COMSDFS/RM0071 (DE) ECS I - COUPLER CON 212,/COMSDFS/RM0072 (DP) ECS II - DC135 DDP CON 210,/COMSDFS/RM0073 (DE) ECS II - COUPLER CON 111,/COMSDFS/RM0074 (DP) ECS I - DC145 DDP CON 211,/COMSDFS/RM0075 (DP) ECS II - DC145 DDP CON 320,/COMSDFS/RM0076 (DE) LCME - COUPLER CON 510,/COMSDFS/RM0207 (DE) ESM - COUPLER CON 511,/COMSDFS/RM0210 (DP) ESM - LOW SPEED PORT PEMBL EQU *-PEMB+2 MESSAGE ID TABLE LENGTH TITLE SUBROUTINES. DUE SPACE 4,15 ** DUE - DISABLE USER ECS. * * USES CM - CM+4. * * MACROS MONITOR. DUE SUBR ENTRY/EXIT LDN ECRL CRD CM LDD CM+1 SBD CM+4 ZJN DUEX IF USER ECS NOT DEFINED LDK UEML CRD CM LDD CM+2 LMD IR+2 LPC 777 NJN DUEX IF NOT USER ECS EQUIPMENT LDN SSTL CRD CM LDD CM SHN 21-5 MJN DUEX IF ECS ALREADY DISABLED LDN 40 RAD CM LDN SSTL CWD CM LDN NCPL WRITE MESSAGE AT SYSTEM CP CRD CM AOD CM+1 SHN 7 ADN MS2W CWM DUEA,TR LDN ZERL ISSUE USER *ECS* DISABLED EVENT CRD CM LDN UEDE STD CM+4 MONITOR EATM LJM DUEX RETURN DUEA DATA C* USER ECS DISABLED. * IBM SPACE 4,10 ** IBM - ISSUE BML MESSAGE. * * USES CM - CM+4, IR+3 - IR+4, BP, CN. * * CALLS DFM, DUE. * * MACROS MONITOR. IBM SUBR ENTRY/EXIT LDD IR+3 ADD READ/WRITE FLAG TO MESSAGE SHN -6 LPN 2 STM MSGA+6 LDM 1,BP ADD RETRY COUNT TO MESSAGE SCN 77 RAM MSGA+6 LDM 3,BP ADD ECS ADDRESS TO MESSAGE STM MSGA+22 LDM 4,BP STM MSGA+23 LDM 1,BP ADD CM ADDRESS TO MESSAGE LPN 77 STM MSGA+15 LDM 2,BP STM MSGA+16 * SET RECOVERED/UNRECOVERED STATUS. LDI BP LPN 4 ZJN IBM1 IF ERROR WAS RECOVERED RJM DUE DISABLE USER ECS LDN 1 SET ERROR UNRECOVERED IBM1 RAM MSGA+6 * ADD WORD COUNT TO MESSAGE. IF GOOD OR BAD DATA WAS PASSED * ALONG WITH THE OTHER ERROR DATA, THE WORD COUNT USED IS ONE, * BECAUSE THE ERROR REFERS TO AN ACTUAL ADDRESS. IF NO * GOOD/BAD DATA WAS PASSED, THE GIVEN WORD COUNT IS USED, * INDICATING THAT THE ERROR OCCURRED SOMEWHERE WITHIN THAT * WORD COUNT RANGE. THIS OCCURS WHEN *CPUMTR* RECOVERS AN * ERROR BUT IS UNABLE TO DETERMINE THE EXACT ADDRESS WHICH * CAUSED THE HALF EXIT. LDI BP LPN 3 NJN IBM2 IF GOOD OR BAD DATA WAS PASSED LDD IR+3 LPN 77 SHN 14 LMD IR+4 UJN IBM3 ADD WORD COUNT IBM2 LDN 1 IBM3 STM MSGA+21 SHN -14 STM MSGA+20 * ADD GOOD AND BAD DATA TO MESSAGE. LDC MSGA+24 STM IBMC LDD BP ADN 5 STM IBMA ADN 5 STM IBMB LDI BP CHECK FOR BAD DATA LPN 2 SHN -1 STM MSGA+17 ZJN IBM4 IF NO BAD DATA LDD MA CWM **,ON IBMA EQU *-1 SBN 1 CRM MSGA+24,ON IBM4 LDI BP CHECK FOR GOOD DATA LPN 1 ZJN IBM6 IF NO GOOD DATA LMI BP LPN 3 ZJN IBM5 IF ONLY GOOD DATA LDN 5 RAM IBMC LDN 2 IBM5 LMN 1 STM MSGA+17 LDD MA CWM IBMB,ON IBMB EQU *-1 SBN 1 CRM MSGA+24,ON * CRM MSGA+31,ON IBMC EQU *-1 IBM6 LDN 6*5 SET BML MESSAGE LENGTH STD CM+1 LDC MSGA+BMLN ISSUE BML MESSAGE RJM DFM * IF THE ERROR IS UNRECOVERED, ISSUE A MESSAGE TO THE ERRLOG * AND TO THE SYSTEM AND JOB DAYFILES INDICATING THE TYPE OF * ERROR AND THE DEVICE ON WHICH THE ERROR OCCURRED. LDM MSGA+6 LPN 1 STD CN ZJN IBM7 IF RECOVERED ERROR LDD IR+2 SHN -3 RJM C2D STM IBMG+1 LDD IR+2 SET EST ORDINAL IN DAYFILE MESSAGE LPN 7 SHN 6 ADC 2R0 STM IBMG+2 LDC IBMG ISSUE SYSTEM AND DAYFILE MESSAGES RJM DFM LDC IBMG+ERLN ISSUE ERRLOG MESSAGE RJM DFM * INCREMENT THE RECOVERED OR UNRECOVERED ERROR COUNTER IN THE * MST FOR THE CURRENT DEVICE. IBM7 LDD CN SET BYTE NUMBER ADN 3 STD CM+2 LDD IR+2 SET EST ORDINAL STD CM+1 LDK ICTS SET SUBFUNCTION STD CM+3 MONITOR SMDM INCREMENT ERROR COUNTER LJM IBMX RETURN IBMG DATA C*EQ000 PE MASS STORAGE ERROR.* SPACE 4,10 * COMMON DECKS. *CALL COMPC2D ERRPL *-BUF OVERLAY OVERFLOWS BUFFER END