TITLE 'IEAVEE3R- EXTERNAL FLIH RECOVERY ROUTINE (III)' 00050002 * /* START OF SPECIFICATIONS **** 00100002 * 00150002 *01* MODULE-NAME = IEAVEE3R 00200002 * 00250002 *02* CSECT-NAME = IEAVEE3R 00300002 * 00350002 *01* DESCRIPTIVE-NAME = EXTERNAL FLIH RECOVERY ROUTINE 3 00400002 * 00450002 *01* COPYRIGHT = NONE 00500002 * 00520002 *01* STATUS = VERSION 1 00550002 * 00600002 *01* FUNCTION = 00650002 * WHEN RECOVERY IS INITIATED FOR THE EXTERNAL FIRST LEVEL 00700002 * INTERRUPT HANDLER (LEVEL 2 OF RECURSION), THE SUPER FRR WILL 00750002 * INDICATE A RETRY TO IEAVEE3R. THIS ROUTINE WILL CLEAR THE IPC 00800002 * EMS RECURSION FLAG AND ALLOW PERCOLATION TO THE PREVIOUS 00850002 * LEVEL OF RECOVERY. 00900002 * 00950002 *02* OPERATION = 01000002 * CLEAR EMS SLIH RECURSION FLAG; 01050002 * FLIP THE FRR STACK TO THE EXT FLIH (2) STACK; 01150002 * SET COMPLETION CODE IN REG 1 FOR ABEND; 01200002 * EXIT TO IEAVEABD PERFORM ABEND; 01250002 * 01300002 *01* NOTES = 01350002 * 01400002 *02* DEPENDENCIES = 01560002 * RTM: 01570002 * RECOVERY IS CONTROLLED BY USE OF THE FRR STACK MECHANISM. 01580002 * 01590002 * IEAVESVR: 01592002 * THE SVC FLIH RECOVERY ROUTINE CONTAINS A COMMON 01594002 * SECTION, STARTING AT THE EXTERNAL LABEL IEAVEABD, 01596002 * WHICH WILL ABEND THE CURRENT TASK, AND PERCOLATE 01598002 * THE ERROR. 01598402 * 01598802 * IPC: 01599202 * THE RECURSION FLAG FOR THE EMS SLIH MUST BE 01599702 * CLEARED TO MAKE THE FUNCTION OPERABLE. 01620002 * 01630002 *03* CHARACTER-CODE-DEPENDENCIES = NONE 01640002 * 01650002 *02* RESTRICTIONS = NONE 01700002 * 01750002 *02* REGISTER-CONVENTIONS = SEE EQUATE SECTION OF MODULE 01800002 * 01850002 *02* PATCH-LABEL = NONE 01900002 * 01950002 *01* MODULE-TYPE = PROCEDURE 02000002 * 02050002 *02* PROCESSOR = ASSEMBLER 02100002 * 02150002 *02* MODULE-SIZE = 24 BYTES 02200002 * 02250002 *02* ATTRIBUTES = NUCLEUS 02300002 * REUSABLE 02350002 * REENTRANT 02400002 * DISABLED 02450002 * ZERO PROTECT KEY 02500002 * SUPERVISOR MODE 02550002 * 02600002 *01* ENTRY-POINT = IEAVEE3R 02650002 * 02700002 *02* PURPOSE = THIS IS THE ONLY ENTRY TO IEAVEE3R 02750002 * 02800002 *02* LINKAGE = SUPER FRR WILL INDICATE A RETRY TO IEAVEE3R. 02850002 * RTM WILL PASS CONTROL VIA BR 15. 02900002 * 02950002 *02* INPUT = 03000002 * 03050002 *03* ENVIRONMENT = DISABLED 03100002 * SUPERVISOR 03150002 * KEY 0 03200002 * NO LOCKS HELD 03250002 * 03300002 *03* DATA = DATA AREAS IN PSA 03350002 * 03400002 *03* REGISTERS = REG 15 = ENTRY POINT ADDRESS 03450002 * 03500002 *02* OUTPUT = 03550002 * 03600002 *03* DATA = CURRENT FRR STACK = EXT FLIH (2) STACK 03650002 * IPC EMS SLIH FLAGS CLEARED 03750002 * 03800002 *03* REGISTERS = 03850002 * REG 1 = ABEND CODE 03900002 * REG 15= ADDR IEAVEABD 03950002 * 04000002 *02* REGISTERS-SAVED = NONE 04050002 * 04100002 *02* REGISTER-USAGE = REG 1 = ABEND CODE 04150002 * REG 15= ADDRESS IEAVEABD 04200002 * 04250002 *02* REGISTERS-RESTORED = ALL AS ON ENTRY EXCEPT REG 1 & 15 04300002 * 04350002 *01* EXIT-NORMAL = TO IEAVEABD WHO ISSUES AN SVC 13 04400002 * 04450002 *02* CONDITIONS = THE CURRENT TASK MUST BE TERMINATED FOR 04500002 * RECOVERY PURPOSES. 04550002 * 04600002 *02* OUTPUT = NONE 04650002 * 04700002 *02* RETURN-CODES = NONE 04750002 * 04800002 *01* EXIT-ERROR = NONE 04850002 * 04900002 *01* EXTERNAL-REFERENCES = 04950002 * 05000002 *02* ROUTINES = 05050002 * IEAVEABD -- (ON EXIT) TO ISSUE AN SVC 13 05057002 * 05064002 * INVSRTRY -- RSM FUNCTIONAL RECOVERY ROUTINE 05071002 * INPUT= 05078002 * DATA= NONE 05085002 * REGISTERS= 05092002 * R10= ENTRY POINT ADDRESS 05099002 * R11= RETURN ADDRESS 05106002 * OUTPUT= 05113002 * DATA= NONE 05120002 * REGISTERS= 05127002 * R15= UNCHANGED 05134002 * 05141002 *02* DATA-AREAS = 05150002 * PSACSTK -- CURRENT FRR STACK POINTER 05200002 * PSAESTK2 -- EXT FLIH (2) STACK POINTER 05250002 * PSAIPCE2 -- EMS SLIH RECURSION FLAG 05350002 * 05450002 *02* CONTROL-BLOCKS = PSA R/W 05500002 * 05600002 *01* TABLES = NONE 05650002 * 05700002 *01* MACROS = NONE 05750002 * 05800002 *01* SERIALIZATION = DISABLE 05850002 * 05900002 *01* CHANGE-ACTIVITY = Y021104 05950002 * 06000002 *01* MESSAGES = NONE 06050002 * 06100002 *01* ABEND-CODES = X'3FC' 06150002 * 06200002 **** END OF SPECIFICATIONS ***/ 06250002 EJECT 06260002 IEAVEE3R CSECT 06300002 SPACE 2 06310002 */*IEAVEE3R: CHART EXT FLIH (3) FRR */ 06320002 */* HEADER 06330002 */* 06340002 */* 06342002 */* 06344002 */* SECTION 3.1.8.3 06346002 */* EXT FLIH (III) RECOVERY ROUTINE 06348002 */* PAGE # */ 06348402 */* E ENTRY IEAVEE3R */ 06348502 */* P CLEAR EMS SLIH RECURSION FLAG */ 06348602 */* P FLIP THE FRR STACK TO EXT (2) STACK */ 06348802 */* P SET ABEND CODE IN REG 1 FOR SVC 13 */ 06349502 */* P EXIT TO IEAVEABD TO PERFORM ABEND */ 06349602 */* R IEAVEABD */ 06349702 */* FOOTING 06349802 */* 06349902 */* */ 06350002 */*IEAVEE3R: END EXTFLIH (3) FRR */ 06366602 EJECT 06376602 *********************************************************************** 06378602 * * 06380602 * EQUATES * 06382602 * * 06383002 *********************************************************************** 06383102 EXTCODE EQU X'3FC' EXTERNAL FLIH ABEND CODE 06383302 CXFF EQU X'FF' CONSTANT VALUE = X'FF' 06400002 CODEREG EQU 1 REG 1 = ABEND CODE 06450002 CCABASE EQU 1 BASE TO LCCA 06500002 R10 EQU 10 GENERAL REGISTER 10 06510002 R11 EQU 11 GENERAL REGISTER 11 06520002 R15 EQU 15 GENERAL REGISTER 15 06550002 *********************************************************************** 06560002 * * 06570002 * IEAVEE3R MAINLINE * 06580002 * * 06590002 *********************************************************************** 06592002 USING PSA,0 06600002 USING *,R15 REG 15 = ENTRY POINT ADDRESS 06650002 NI PSASUP2,CXFF-PSAIPCE2 06900002 * CLEAR EMS RECURSION FLAG 06950002 MVC PSACSTK,PSAESTK2 CURRENT FRR STACK = EXT(2) FLIH STACK 07000002 L R10,AINVSR GET THE ADDRESS OF RSM FRR 07010002 BALR R11,R10 GO TO RSM FRR FOR CLEANUP 07020002 LA CODEREG,EXTCODE PUT EXT FLIH CODE IN REG 1 FOR ABEND 07050002 L R15,ADABEND BRANCH TO ABEND ROUTINE LOCATED IN 07100002 BR R15 IEAVESVR (SVC FLIH FRR) 07150002 *********************************************************************** 07160002 * * 07170002 * CONSTANTS & STORAGE * 07180002 * * 07190002 *********************************************************************** 07192002 EXTRN IEAVEABD 07196002 ADABEND DC V(IEAVEABD) ADDRESS COMMON ABEND ROUTINE 07200002 AINVSR DC V(INVSRTRY) ADDRESS RSM FUNCTIONAL RECOVERY RTN 07205002 TITLE 'IEAVEE3R- PSA MAPPING' 07210002 IHAPSA 07250002 END 07350002