TITLE 'IEAVERER- RESTART FLIH RECOVERY ROUTINE' 00110002 * /* START OF SPECIFICATIONS **** 00142002 * 00144002 *01* MODULE-NAME = IEAVERER 00150002 * 00200002 *02* CSECT-NAME = IEAVERER 00250002 * 00300002 *01* DESCRIPTIVE-NAME = RESTART FLIH RECOVERY ROUTINE 00350002 * 00400002 *01* COPYRIGHT = NONE 00450002 * 00500002 *01* STATUS = VERSION 1 00550002 * 00600002 *01* FUNCTION = 00650002 * WHEN RECOVERY IS INITIATED FOR THE RESTART FIRST LEVEL 00700002 * INTERRUPT HANDLER, THE SUPER FRR WILL INDICATE A RETRY 00750002 * TO IEAVERER. THIS ROUTINE WILL CLEAN UP THE RESTART 00800002 * FLIH RESOURCES, MAKING THE FUNCTION OPERABLE. IT WILL 00850002 * ALLOW PERCOLATION TO THE PREVIOUS LEVEL OF RECOVERY. 00900002 * 00950002 *02* OPERATION = 01000002 * IEAVERER ENTRY = 01050002 * CLEAR THE RESTART FLIH RECURSION INDICATOR; 01100002 * CLEAR THE RESTART RESOURCE LOCK WORD; 01150002 * FLIP THE FRR STACK TO THE PREVIOUS CURRENT STACK; 01200002 * SET ABEND CODE IN REG 1 FOR SVC 13; 01250002 * EXIT TO IEAVEABD TO PERFORM ABEND; 01300002 * 01350002 *01* NOTES = 01400002 * 01450002 *02* DEPENDENCIES = 01610002 * RTM: 01620002 * RECOVERY IS CONTROLLED BY USE OF THE FRR STACK MECHANISM. 01630002 * 01640002 * IEAVESVR: 01642002 * THE SVC FLIH RECOVERY ROUTINE CONTAINS A COMMON 01644002 * SECTION, STARTING AT THE EXTERNAL LABEL IEAVEABD, 01646002 * WHICH WILL ABEND THE CURRENT TASK, AND PERCOLATE 01648002 * THE ERROR. 01648402 * 01648802 *03* CHARACTER-CODE-DEPENDENCIES = NONE 01650002 * 01700002 *02* RESTRICTIONS = NONE 01750002 * 01800002 *02* REGISTER-CONVENTIONS = SEE EQUATE SECTION OF MODULE 01850002 * 01900002 *02* PATCH-LABEL = 01950002 * 02000002 *01* MODULE-TYPE = PROCEDURE 02050002 * 02100002 *02* PROCESSOR = ASSEMBLER 02150002 * 02200002 *02* MODULE-SIZE = 36 BYTES 02250002 * 02300002 *02* ATTRIBUTES = NUCLEUS 02350002 * REUSABLE 02400002 * REENTRANT 02450002 * DISABLED 02500002 * ZERO PROTECT KEY 02550002 * SUPERVISOR MODE 02600002 * 02650002 *01* ENTRY-POINT = IEAVERER 02700002 * 02750002 *02* PURPOSE = THIS IS THE ONLY ENTRY TO IEAVERER 02800002 * 02850002 *02* LINKAGE = SUPER FRR WILL INDICATE A RETRY TO IEAVERER 02900002 * RTM WILL PASS CONTROL VIA BR 15. 02950002 * 03000002 *02* INPUT = 03050002 * 03100002 *03* ENVIRONMENT = DISABLED 03150002 * SUPERVISOR 03200002 * KEY 0 03250002 * NO LOCKS HELD 03300002 * 03350002 *03* DATA = DATA AREAS IN PSA AND CVT 03400002 * 03450002 *03* REGISTERS = NONE 03500002 * 03550002 *02* OUTPUT = 03600002 * 03650002 *03* DATA = CURRENT FRR STACK = PREVIOUS CURRENT 03700002 * RESTART FLIH RECURSION BYTE CLEARED 03750002 * RESTART RESOURCE LOCKWORD CLEARED 03800002 * 03850002 *03* REGISTERS= 03900002 * REG 1 = ABEND CODE 03950002 * ALL OTHERS AS ENTERED 04000002 * 04050002 *02* REGISTERS-SAVED = NONE 04100002 * 04150002 *02* REGISTER-USAGE = REG 1 = ABEND CODE 04200002 * 04250002 *02* REGISTERS-RESTORED = ALL AS ENTRY EXCEPT REG 1 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 = TO IEAVEABD (ON EXIT) TO ISSUE AN SVC 13 05050002 * 05100002 *02* DATA-AREAS = 05150002 * PSARSAV -- PREVIOUS CURRENT FRR STACK POINTER 05200002 * PSACSTK -- CURRENT FRR STACK POINTER 05250002 * PSARECUR -- RESTART FLIH RECURSION BYTE 05300002 * CVTRSTWD -- RESTART RESOURCE LOCK WORD 05350002 * 05400002 *02* CONTROL-BLOCKS = PSA R/W 05450002 * CVT R/W 05500002 * 05550002 *01* TABLES = NONE 05600002 * 05650002 *01* MACROS = NONE 05700002 * 05750002 *02* SERIALIZATION = DISABLE 05800002 * 05850002 *01* CHANGE-ACTIVITY = Y021104 05900002 * 05950002 *01* MESSAGES = NONE 06000002 * 06050002 *01* ABEND-CODES = X'5FC' 06100002 * 06150002 **** END OF SPECIFICATIONS ***/ 06200002 EJECT 06210002 IEAVERER CSECT 06250002 SPACE 2 06260002 */*IEAVERER: CHART RES FLIH FRR */ 06270002 */* HEADER 06280002 */* 06290002 */* 06292002 */* 06294002 */* SECTION 3.1.8.3 06296002 */* RESTART FLIH RECOVERY ROUTINE 06298002 */* PAGE # */ 06298402 */* E ENTRY IEAVERER */ 06298802 */* P CLEAR THE RESTART FLIH RECURSION INDICATOR */ 06299702 */* P CLEAR THE RESTART RESOURCE LOCK WORD */ 06303002 */* P FLIP THE FRR STACK TO PREVIOUS CURRENT STACK */ 06306702 */* P SET ABEND CODE IN REG 1 FOR SVC 13 */ 06310002 */* P EXIT TO IEAVEABD TO PERFORM ABEND */ 06313302 */* R IEAVEABD */ 06316602 */* FOOTING 06326602 */* 06328602 */* */ 06330602 */*IEAVERER: END RES FLIH FRR */ 06332602 EJECT 06333002 *********************************************************************** 06333102 * * 06333202 * EQUATES * 06338802 * * 06340802 *********************************************************************** 06342802 RESCODE EQU X'5FC' RESTART FLIH ABEND CODE 06372202 R1 EQU 1 GENERAL REGISTER 1 06386102 R15 EQU 15 GENERAL REGISTER 15 06400002 ZERO EQU 0 CONSTANT VALUE = 0 06500002 CVTBASE EQU 1 BASE REGISTER FOR CVT MAPPING 06550002 *********************************************************************** 06560002 * * 06570002 * IEAVERER MAINLINE * 06580002 * * 06590002 *********************************************************************** 06592002 USING PSA,0 06600002 USING CVT,CVTBASE 06650002 USING *,R15 REG 15 = ENTRY POINT ADDRESS 06700002 L CVTBASE,FLCCVT ADDRESS OF CVT 06750002 NI PSARECUR,ZERO CLEAR RESTART RECURSION BIT 06800002 XC CVTRSTWD,CVTRSTWD CLEAR RESTART LOCK WORD 06850002 MVC PSACSTK,PSARSAV CURRENT FRR STACK = PREVIOUS CURRENT 06950002 LA R1,RESCODE PUT RESTART FLIH ABEND CODE IN REG 1 07000002 L R15,ADABEND BRANCH TO ABEND ROUTINE LOCATED IN 07050002 BR R15 IEAVESVR (SVC FLIH FRR) 07100002 *********************************************************************** 07110002 * * 07120002 * CONSTANTS & STORAGE * 07130002 * * 07140002 *********************************************************************** 07142002 EXTRN IEAVEABD 07146002 ADABEND DC V(IEAVEABD) ADDRESS COMMON ABEND ROUTINE 07150002 TITLE 'IEAVERER- PSA MAPPING' 07160002 IHAPSA 07200002 TITLE 'IEAVERER- CVT DSECT MAPPING' 07210002 CVT DSECT=YES,PREFIX=NO,LIST=NO 07250002 END 07300002