* % GOTO IRTPLS; /* GO TO THE PLS VERSION */ 00050021 * 00100021 MACRO 00150021 IECDIRT 00200021 ORG LCCAIRT 00210021 IRT DS 0D 00250021 SPACE 1 00300021 **************************************************************** 00350021 * * 00400021 * THIS MACRO DSECT DESCRIBES THE IOS RECOVERY TABLE. * 00450021 * THE TABLE IS RELATED TO A CPU AND IS LOCATED IN THE * 00500021 * LCCA. * 00550021 * * 00700021 **************************************************************** 00750021 SPACE 1 00800021 IRTENTRY EQU * 00850021 IRTFLA DS XL1 FLAG BYTE A 00900021 SPACE 1 00950021 IRTULCK EQU X'80' UCB LOCK HELD 01000021 IRTLLCK EQU X'40' LCH LOCK HELD 01050021 IRTSLCK EQU X'20' SYNCH LOCK HELD 01100021 IRTCLCK EQU X'10' CAT LOCK HELD 01150021 IRTALCK EQU X'08' SALLOC LOCK HLED 01160021 IRTIOQA EQU X'04' AN IOQ IS ACTIVE 01200002 IRTSLISN EQU X'02' RECOVERY SENSE INDICATOR 01210002 IRTSSIGP EQU X'01' SHLDR TAP NEEDED FOR SENSE @ZA16177 01260041 SPACE 1 01320002 IRTFLB DS XL1 FLAG BYTE B 01350021 IRTNRST EQU X'80' SUPPRESS RESTART OF CURRENT 01360021 * CHANNEL 01370021 IRTSKRST EQU X'40' FIRST PASS OF CHAN. RESTART 01380021 IRTPCISW EQU X'20' FIRST PASS OF PCI 01390021 IRTCHBSY EQU X'10' ALL CHANNELS BUSY 01392021 IRTSMGR EQU X'08' STORAGE MANAGER ENTERED 01392802 IRT12GT EQU X'04' STORAGE MNGR - SMALL BLK GET 01393202 IRTCCHWA EQU X'02' SET IF CCH GETS EWA @ZA18094 01393441 * EQU X'01' RESERVED @ZA18094 01393641 SPACE 1 01396021 IRTENVR DS XL1 ENVIRONMENT FLAGS 01398021 IRTCHENT EQU X'80' CHAN SCHED ENTRANCE 01398421 IRTSLIHA EQU X'40' I/O INT HNDLR ENTRANCE 01398821 IRTSHTP EQU X'20' SHOULDER TAP ENTRANCE 01399221 IRTCRHIN EQU X'10' CRH INTERRUPT ON DEAD CPU @ZA16177 01401241 IRTRSTI EQU X'08' I/O RESTART IN PROGRESS 01405921 IRTHIO EQU X'04' HIO IN PROCESS 01407902 IRTPINT EQU X'02' I/O RESTART PSEUDO INTERRUPT 01409902 IRTCSINT EQU X'01' CHANNEL SCHEDULER ENTRANCE 01411902 * * INITIALIZATION COMPLETE 01413902 SPACE 1 01418521 DS XL1 RESERVED 01424802 SPACE 1 01431121 IRTSYMSK DS XL1 OLD SYSTEM MASK SET BY 01437421 * CHANNEL SCHEDULER 01443721 IRTCCH DS XL1 CHANNEL CHECK HANDLER 01450021 * COMMUNICATION BYTE 01500021 IRTCMRST DS XL1 RESTART INDICATOR SET BY CHAN 01502021 * SCHEDULER WHEN ENTERED. SET 01504021 * IN THE OTHER CPU WHEN SHLDER 01506021 * TAP IS TO BE DONE. 01508021 * FF = IOS ACTIVE AND RESTART 01508421 * CAN BE DONE VIA RESTART 01508821 * ROUTINE 01509221 * 00 = IOS NOT ACTIVE. SHLDER 01509621 * TAP TO BE USED TO RESTRT 01509721 IRTDETEC DS XL1 HOT I/O DETECTION FLAGS @ZA30350 01510041 IRTDETR1 EQU X'80' RESERVED FOR HOT I/O DETEC @ZA30350 01513041 IRTAVAIL EQU X'40' AVAILABILITY INTERRUPT @ZA30350 01516041 IRTUNSOL EQU X'20' UNSOLICITED INTERRUPT @ZA30350 01519041 IRTNOSYS EQU X'10' DEVICE NOT SYSGENED @ZA30350 01522041 IRTHOTD EQU X'08' HOT DEVICE DETECTION @ZA30350 01525041 IRTINVDV EQU X'04' INVALID DEVICE ADDRESS AND @ZA30350 01528041 * CHANNEL ERROR @ZA30350 01531041 IRTCUERR EQU X'02' CHANNEL ERROR-CONTROL UNIT @ZA30350 01534041 * PROBABLE CAUSE OF ERROR @ZA30350 01537041 IRTCHERR EQU X'01' CHANNEL ERROR-CONTROL UNIT @ZA30350 01540041 * NOT PROBABLE CAUSE OF ERR @ZA30350 01543041 IRTUCB DS A ADDRESS OF LOCKED UCB 01550021 IRTLCH DS A ADDRESS OF LOCKED LCH 01600021 IRTIOQ DS A ADDRESS OF ACTIVE IOQ 01650021 IRTCHNL DS A CURRENT CHANNEL USED BY TCH 01660021 IRTNIOQ DS A SAVED ADDRESS OF NEXT IOQ 01670021 IRTPSTSV DS A IOQ SAVE AREA USED BY 01672002 * CHANNEL SCHEDULER 01674021 IRTCHMSK DS A RESTART CHANNEL MASK THIS CPU 01680021 IRTRSV01 DS A RESERVED 01685041 IRTRTNSV DS D USED BY CHAN SCHED AND SHLDR 01690021 * TAP FOR REG 13 AND 14 SAVE 01692021 IRTTCHSV DS A TCH ROUTINE LINK SAVE 01694021 IRTDDSV DS A DEVICE DEPENDENT SIO SUBROUTINE 01696002 IRTSIOSV DS A POST SIO LINK SAVE 01698021 IRTSTASV DS A STATUS ROUTINE LINK SAVE 01700021 IRTRSTSV DS A RESTART ROUTINE LINK SAVE 01750021 IRTDIESV DS A DIE ROUTINE LINK SAVE 01760021 IRTSENSV DS A SENSE ROUTINE LINK SAVE 01770021 IRTPCISV DS A PCI ROUTINE LINK SAVE 01780021 IRTPRGSV DS A CHECK PURGE ROUTINE LINK SAVE 01790021 IRTCSME DS A SAVED CHANNEL SEARCH MODULE 01792021 * TABLE ENTRY ADDRESS 01794021 IRTNSRB DS A ADDR OF SRB FOR NEW WORK 01794121 * FROM DIE. 01794221 IRTFRRWA DS A ADDR OF FRR WORKAREA 01794421 IRTATTSV DS A ATTENTION ROUTINE LINK SAVE 01796021 IRTCCHSV DS A CCH INTERFACE LINK SAVE 01798021 IRTINTSV DS A SLIH ROUTINE LINK SAVE 01798421 IRTSTSSV DS A TEST SCHEDULABILITY SAVE AREA 01798821 IRTLCHAD DS A SAVED LCH ADDR FOR CHAN RSTRT 01799221 IRTSNSCT DS A SENSE COUNTER @ZA10792 01799400 IRTCHNSV DS A SENSE CHAIN ROUTINE LINK SV @ZA16177 01799641 IRTRSV0B DS A RESERVED @ZA10792 01799800 IRTEL EQU 128 ENTRY LENGTH 01800021 MEND 01850021 *%IRTPLS: ; 01900021 * 01950021 */*************************************************************/ 02000021 */* */ 02050021 */* THIS STRUCTURE DESCRIBES THE IOS RECOVERY TABLE. THE */ 02100021 */* TABLE IS RELATED TO A CPU AND IS LOCATED IN THE LCCA. */ 02150021 */* A RESPECIFY SHOULD BE DONE ON IRT TO BASE IT ON THE */ 02200021 */* ADDRESS OF LCCAIRT. */ 02250021 */* */ 02350021 */*************************************************************/ 02400021 */* */ 02450021 */* 05/30/72 LEVEL=00 */ 02500021 */* */ 02550021 */*************************************************************/ 02600021 * 02650021 * DCL 1 IRT BDY(WORD) BASED(IRTPTR), 02660021 * 02700002 * 2 IRTENTRY PTR(31), /* LABEL IDENTIFICATION */ 02750002 * 3 IRTFLA CHAR(1), /* FLAG BYTE A */ 02800021 * 4 IRTULCK BIT(1), /* UCB LOCK HELD */ 02850021 * 4 IRTLLCK BIT(1), /* LCH LOCK HELD */ 02900021 * 4 IRTSLCK BIT(1), /* SYNCH LOCK HELD */ 02950021 * 4 IRTCLCK BIT(1), /* CAT LOCK HELD */ 02960021 * 4 IRTALCK BIT(1), /* SALLOC LOCK HELD */ 03000021 * 4 IRTIOQA BIT(1), /* AN IOQ IS ACTIVE */ 03050002 * 4 IRTSLISN BIT(1), /* RECOVERY SENSE IND */ 03060002 * 4 IRTSSIGP BIT(1), /* SHLDR TAP NEEDED FOR SENSE 03110041 * @ZA16177*/ 03160041 * 3 IRTFLB CHAR(1), /* RESERVED */ 03450021 * 4 IRTNRST BIT(1), /* SUPPRESS RESTART FOR 03460002 * CURRENT CHANNEL */ 03470002 * 4 IRTSKRST BIT(1), /* FIRST PASS OF CHAN RSTRT*/ 03480021 * 4 IRTPCISW BIT(1), /* FIRST PASS OF PCI */ 03490021 * 4 IRTCHBSY BIT(1), /* ALL CHANNELS BUSY */ 03492021 * 4 IRTSMGR BIT(1), /* STORAGE MANAGER ENTERED */ 03492102 * 4 IRT12GT BIT(1), /* SMALL BLK GET */ 03492402 * 4 IRTCCHWA BIT(1), /* SET IF CCH GETS EWA @ZA18094*/ 03492941 * 4 * BIT(1), /* RESERVED @ZA18094*/ 03493441 * 03496021 * 3 IRTENVR CHAR(1), /* ENVIRONMENT INDICATORS */ 03498021 * 4 IRTCHENT BIT(1), /* CHAN. SCHED. ENTRANCE */ 03498421 * 4 IRTSLIHA BIT(1), /* I/O INT HNDLR ENTRANCE */ 03498821 * 4 IRTSHTP BIT(1), /* SHOULDER TAP ENTRANCE */ 03499221 * 4 IRTCRHIN BIT(1), /* CRH INTERRUPT @ZA16177*/ 03501241 * 4 IRTRSTI BIT(1), /* I/O RESTART IN PROGRESS */ 03501641 * 4 IRTHIO BIT(1), /* HIO IN PROCESS */ 03501702 * 4 IRTPINT BIT(1), /* I/O RESTART PSEUDO INT */ 03502102 * 4 IRTCSINT BIT(1), /* CHAN SCHED INIT DONE */ 03503602 * 03504921 * 3 * BIT(8), /* RESERVED */ 03506602 * 2 IRTSYMSK CHAR(1), /* OLD SYSTEM MASK SET BY 03508302 * CHANNEL SCHEDULER */ 03510002 * 2 IRTCCH CHAR(1), /* CCH COMMUNICATION BYTE */ 03550021 * 2 IRTCMRST CHAR(1), /* RESTRT IND. SET BY CHAN. 03552002 * SCHED WHEN ENTERED. ALSO 03554002 * SET IN THE OTHER CPU 03556002 * WHEN SHOULDER TAP TO BE 03558002 * DONE 03558402 * FF = IOS ACTIVE AND CAN 03558802 * RESTART VIA RSTSRT RTN 03559202 * 00 = IOS NOT ACTIVE. 03559602 * SHOULDER TAP TO BE USED 03559702 * TO RESTART */ 03559802 * 2 IRTDETEC BIT(8), /* HOT I/O DETECTION FLAG 03560041 * @ZA30350*/ 03562041 * 3 IRTDETR1 BIT(1), /* RESVD FOR HOT I/O @ZA30350*/ 03564041 * 3 IRTAVAIL BIT(1), /* AVAILABILITY INTERPT @ZA30350*/ 03566041 * 3 IRTUNSOL BIT(1), /* UNSOLICITED INTERRUPT @ZA30350*/ 03568041 * 3 IRTNOSYS BIT(1), /* DEVICE NOT SYSGENED @ZA30350*/ 03572041 * 3 IRTHOTD BIT(1), /* HOT DEVICE DETECTION @ZA30350*/ 03574041 * 3 IRTINVDV BIT(1), /* CHANNEL ERROR AND INVALID 03576041 * DEVICE ADDRESS @ZA30350*/ 03578041 * 3 IRTCUERR BIT(1), /* CHANNEL ERROR-CONTROL UNIT 03580041 * PROBABLE CAUSE OF ERR @ZA30350*/ 03582041 * 3 IRTCHERR BIT(1), /* CHANNEL ERROR-CONTROL UNIT NOT 03584041 * PROBABLE CAUSE OF ERR @ZA30350*/ 03586041 * 2 IRTUCB PTR(31), /* ADDRESS OF LOCKED UCB */ 03600021 * 2 IRTLCH PTR(31), /* ADDRESS OF LOCKED LCH */ 03650021 * 2 IRTIOQ PTR(31), /* ADDRESS OF ACTIVE IOQ */ 03700021 * 2 IRTCHNL PTR(31), /* TCH CURRENT CHANNEL */ 03710021 * 2 IRTNIOQ PTR(31), /* SAVED ADDR OF NEXT IOQ */ 03720021 * 2 IRTPSTSV PTR(31), /* IOQE SAVE AREA USED BY 03722002 * CHANNEL SCHEDULER */ 03724002 * 2 IRTCHMSK CHAR(4), /* RESTART CHANNEL MASK FOR 03730002 * THIS CPU */ 03740002 * 2 IRTRSV01 PTR(31), /* RESERVED */ 03741041 * 2 IRTRTNSV CHAR(8), /* USED BY CHAN SCHED AND 03742002 * SHLDR TAP FOR RG 13 & 14*/ 03744002 * 2 IRTTCHSV PTR(31), /* TCH ROUTINE LINK SAVE */ 03746021 * 2 IRTDDSV PTR(31), /* DEVICE DEPENDENT SIO 03748002 * SUBROUTINE LINK SAVE */ 03748402 * 2 IRTSIOSV PTR(31), /* POST SIO LINK SAVE */ 03748821 * 2 IRTSTASV PTR(31), /* STATUS SUBRTN LINK SAVE */ 03750002 * 2 IRTRSTSV PTR(31), /* RESTART RTN LINK SAVE */ 03800021 * 2 IRTDIESV PTR(31), /* DIE ROUTINE LINK SAVE */ 03810021 * 2 IRTSENSV PTR(31), /* SENSE ROUTINE LINK SAVE */ 03820021 * 2 IRTPCISV PTR(31), /* PCI ROUTINE LINK SAVE */ 03830021 * 2 IRTPRGSV PTR(31), /* CHECK PURGE ROUTINE 03840002 * LINK SAVE */ 03840402 * 2 IRTCSME PTR(31), /* SAVED CHANNEL SEARCH 03842002 * MODULE TABLE ENTRY ADDR */ 03842402 * 2 IRTNSRB PTR(31), /* ADDR OF SRB FOR NEW WORK 03842502 * FROM DIE. */ 03842602 * 2 IRTFRRWA PTR(31), /* ADDR OF FRR WORKAREA */ 03842821 * 2 IRTATTSV PTR(31), /* ATTN. ROUTINE LINK SAVE */ 03844021 * 2 IRTCCHSV PTR(31), /* CCH INTERFACE LINK SAVE */ 03846021 * 2 IRTINTSV PTR(31), /* SLIH ROUTINE LINK SAVE */ 03848021 * 2 IRTSTSSV PTR(31), /* TEST SCHEDULABILITY SAVE*/ 03848421 * 2 IRTLCHAD PTR(31), /* LCH ADDR FOR CHAN RSTRT */ 03848821 * 2 IRTSNSCT FIXED(31), /* SENSE COUNTER @ZA10792*/ 03849100 * 2 IRTCHNSV PTR(31), /* SENSE CHAIN RTN LINK SV@ZA16177*/ 03849441 * 2 IRTRSV0B PTR(31), /* RESERVED @ZA10792*/ 03849700 * 2 IRTEND CHAR(0); /* END OF IRT */ 03850021 * 03900021 *%DCL IRTEL CHAR; /* ENTRY LENGTH */ 03950021 *%IRTEL='ADDR(IRTEND)-ADDR(IRTENTRY)'; 04000021