TITLE 'IEAVEIPR-IPC RECOVERY' 00010302 * /* START OF SPECIFICATION **** 00010402 * MODULE NAME= IEAVEIPR 00010702 * 00011002 * CSECT NAME= IEAVEIPR 00011302 * 00011602 * DESCRIPTIVE NAME= IPC FUNCTIONAL RECOVERY ROUTINE 00011902 * 00012202 * COPYRIGHT= NONE 00012502 * 00012802 * STATUS= VERSION 1 00013102 * 00013402 * FUNCTION= 00013702 * RISGNL RECOVERY CONSISTS SOLELY OF CLEARING ITS 00014002 * BUFFER AND INDICATORS, IF ACR IS NOT ACTIVE SO THAT 00014302 * RISGNL IS RE-INVOCABLE. 00014602 * 00014902 * OPERATION= 00015202 * 00015502 * RISGNL= 00015802 * IF ACR IS NOT ACTIVE 00016102 * THEN DO; 00016402 * CLEAR CURRENT PCCA BUFFER; 00016702 * CLEAR RISIGNAL SUPER BIT; 00017002 * END; 00017302 * EXIT; 00017602 * 00017902 * 00018202 * NOTES= SEE ENTRY POINT DESCRIPTIONS BELOW 00018502 * 00018802 * DEPENDENCIES= 00019102 * 00019402 * RTM= 00019702 * 1. SDWA MUST BE SUPPLIED AND BE POINTED TO BY 00020002 * REG 1. 00020302 * 2. ALL SDWA INFORMATION MUST BE PRESENT AND 00020602 * CORRECT. 00020902 * 3. THE RISGNL FRR MUST ALWAYS RECEIVE CONTROL 00021202 * IF IT IS ON THE STACK. 00021502 * 00021802 * CHARACTER CODE DEPENDENCIES= NONE 00022102 * 00022402 * RESTRICTIONS= NONE 00022702 * 00023002 * REGISTER CONVENTIONS= REFERENCE EQUATE SECTION OF 00023302 * MODULE. 00023602 * 00023902 * MODULE TYPE= PROCEDURE 00024202 * 00024502 * PROCESSOR= ASSEMBLER 00024802 * 00025102 * MODULE SIZE= REFERENCE ESD LENGTH AT BEGINNING OF MODULE 00025402 * 00025702 * ATTRIBUTES= NUCLEUS 00026002 * ZERO PROTECT KEY 00026302 * DISABLED 00026602 * REFRESHABLE 00026902 * ADDRESS SPACE = FIXED 00027202 * SUPERVISOR MODE 00027502 * 00027802 * 00028102 * 00028402 * ENTRY POINT= IEAVEIP1 00028702 * 00029002 * PURPOSE= THIS IS THE ONLY ENTRY TO THE RISGNL 00029302 * FUNCTIONAL RECOVERY ROUTINE. IT WILL CLEAR 00029602 * ITS BUFFER AND PERCOLATE THE ERROR. 00029902 * 00030202 * LINKAGE= SEE INPUT SECTION BELOW 00030502 * 00030802 * INPUT= 00031102 * 00031402 * ENVIRONMENT= DISABLED 00031702 * SUPERVISOR STATE 00032002 * KEY 0 00032302 * NO LOCKS REQUIRED 00032602 * 00032902 * DATA= SDWA CONTROL BLOCK 00033202 * 00033502 * REGISTERS= 1 = SDWA ADDRESS 00033802 * 14 = RETURN ADDRESS 00034102 * 15 = ENTRY POINT ADDRESS 00034402 * 00034702 * OUTPUT= SEE EXIT -- NORMAL 00035002 * 00035302 * DATA= NONE 00035602 * 00035902 * REGISTERS= NONE 00036202 * 00036502 * REGISTERS SAVED= NONE 00036802 * 00037102 * REGISTERS USED= ALL 00037402 * 00037702 * REGISTERS RESTORED= REG 14 00038002 * 00038302 * EXIT -- NORMAL= RTM (VIA BR 14) 00038602 * 00038902 * CONDITIONS= EXIT WILL ALWAYS BE BACK TO RTM 00039202 * 00039502 * OUTPUT= 00039802 * 00040102 * RETURN CODE= NONE 00040402 * 00040702 * EXIT -- ERROR= NONE 00041002 * 00041302 * EXTERNAL REFERENCES= 00041602 * 00041902 * ROUTINES= 00042202 * 00042502 * DATA AREAS= NONE 00042802 * 00043102 * CONTROL BLOCKS= SDWA R/W 00043402 * PCCA W 00043702 * PSA W 00044002 * 00044302 * TABLES= NONE 00044602 * 00044902 * MACROS= NONE 00045202 * 00045502 * SERIALIZATION= DISABLE 00045802 * 00046102 * MESSAGES= NONE 00046402 * 00046702 * 00047002 * ABEND CODES= NONE 00047302 * 00047602 **** END OF SPECIFICATIONS ***/ 00050002 */*IEAVEIPR: CHART IEAVEIPR */ 00052002 */* HEADER 00055002 */* 00060002 */* 00065002 */* 00070002 */* SECTION 3.1.8.14 00075002 */* IPC RECOVERY 00080002 */* PAGE # */ 00085002 SPACE 2 00090002 IEAVEIPR CSECT 00095002 USING PSA,0 PSA ADDRESSABILITY 00100002 USING PCCA,PCCAREG PCCA ADDRESSABILITY 00150002 USING LCCA,LCCAREG LCCA ADDRESSABILITY 00170002 USING SDWA,R1 SDWA ADDRESSABILITY 00200002 * EQUATE SECTION 00260002 R1 EQU 1 REGISTER 1 00300002 RETADD EQU 4 RETURN ADDRESS REG 00310002 PCCAREG EQU 9 PCCA ADDRESS REG 00400002 LCCAREG EQU 11 LCCA ADDRESS REG 00420002 BASEREG EQU 10 BASE REGISTER 00450002 R14 EQU 14 REGISTER 14 00600002 * VALUE SECTION 00610002 ZERO EQU 0 DISPLACEMENT VALUE 00650002 L16 EQU 16 DISPLACEMENT VALUE 00660002 SPACE 2 00680002 */*IEAVEIP1: E RISGNL RECOVERY */ 00710002 SPACE 2 00740002 ENTRY IEAVEIP1 00800002 IEAVEIP1 DS 0H RISGNL RECOVERY ENTRY 00850002 SPACE 2 00851002 */* P ESTABLISH ADDRESSABILITY */ 00852002 SPACE 2 00853002 BALR BASEREG,ZERO ESTABLISH 00855002 USING *,BASEREG ADDRESSABILITY 00860002 SPACE 2 00862802 */* D (YES,EXIT,NO,) IS ACR ACTIVE? */ 00862902 SPACE 2 00863002 TM SDWAMCHD,SDWAACR IS ACR ACTIVE 00863402 BO EXIT IF SO FINISHED 00864102 SPACE 2 00874102 */* P CLEAR PCCA BUFFER FOR RISGNL */ 00884102 SPACE 2 00894102 L PCCAREG,PSAPCCAV GET PCCA ADDRESS 00904102 XC PCCAEMSB(L16),PCCAEMSB CLEAR PCCA BUFFER 00950002 SPACE 2 00980002 */*EXIT: P (,FINI) CLEAR RISGNL SUPER BIT */ 01010002 SPACE 2 01040002 EXIT NI PSASUP2,X'FF'-PSAIPCRI CLEAR SUPER BIT 01100002 L LCCAREG,PSALCCAV GET LCCA ADDRESS 01110002 NI LCCASPN1,X'FF'-LCCASIGP CLEAR SIGP SPIN BIT 01120002 BR R14 RETURN TO RTM 01150002 SPACE 2 01350002 */*FINI: R END RISGNL RECOVERY */ 01550002 */*IEAVEIPR: END IPC RECOVERY */ 01750002 SPACE 2 01950002 IHAPCCA 02350002 IHASDWA 02370002 IHAPSA 02450002 IHALCCA 02500002 END 02550002