* %GOTO RQEL1; /* 00060021 MACRO 00070021 IECDRQE 00100021 RQE DSECT 00150021 SPACE 1 */ 00200021 *%RQEL1 : ; 00210021 */********************************************************************/ 00250021 */* */ 00300021 */* THIS DSECT DESCRIBES THE CONTROL BLOCK USED WITHIN THE EXCP PROC-*/ 00350021 */* ESSOR TO DEFINE A SINGLE REQUEST. IT CONTAINS ALL INFORMATION */ 00400021 */* NECESSARY TO INITIATE AND TERMINATE I/O REQUESTS WITHIN THE EXCP */ 00450021 */* PROCESSOR. */ 00500021 */* */ 00510021 */********************************************************************/ 00550021 *%GOTO RQEL2; /* 00560021 SPACE 1 00600021 RQEUCB DS A ADDRESS OF THE UNIT CONTROL BLOCK 00700021 RQEIOB DS A ADDRESS OF THE INPUT-OUTPUT BLOCK 00750021 RQEDEB DS A ADDRESS OF THE DATA EXTENT BLOCK 00800021 RQETCB DS A ADDRESS OF THE TASK CONTROL BLOCK 00850021 RQETCCW DS A ADDRESS OF TRANSLATION CONTROL 00860021 * BLOCK - USED BY VIO 00870002 * AS A WORK AREA 00880002 RQENRQE DS A ADDRESS OF THE NEXT RQE ON RELATED 00900021 * REQUEST CHAIN - USED BY VIO 00902002 * AS A WORK AREA 00904002 RQERRQ DS A ADDRESS OF RELATED REQUEST QUEUE - 00910021 * USED BY VIO 00912002 * AS A WORK AREA 00914021 RQESRB DS A ADDRESS OF ASSOCIATED SRB - USED BY 00920021 * VIO AS A WORK AREA 00924002 RQEIPIB DS A ADDRESS OF PURGE IPIB 00930021 RQEPRT DS XL1 PROTECT KEY FROM SVC OLD PSW@ZA06067 00980003 * (BITS 0-3) AND FLAGS(4-7) @ZA06067 00982003 RQEPKEY EQU X'F0' PROTECT KEY - BITS 0-3 @ZA06067 00984003 RQEPRT4R EQU X'08' BIT4 - RESERVED @ZA06067 00986003 RQEPRT5R EQU X'04' BIT5 - RESERVED @ZA06067 00988003 RQEK0BYP EQU X'02' BIT6 - SAM-E REQUEST @ZA37899 00990003 RQESMFRQ EQU X'01' BIT7 - SMF RECORDING REQD @ZA06067 00992003 SPACE 01001003 RQETYPE DS XL1 REQUEST TYPE FLAGS 01010021 SPACE 1 01050021 * BIT SETTINGS FOR RQETYPE 01100021 SPACE 1 01150021 RQE114 EQU X'80' EXCPVR REQUEST 01200021 RQEVIRT EQU X'40' VIRTUAL EXCP REQUEST 01250021 RQE1TO1 EQU X'20' VIRTUAL EQUAL REAL REQUEST 01300021 RQEVAM EQU X'10' VIO RQE 01310002 RQEEOEE EQU X'08' END-OF-EXTENT-ERROR,TO BE @YM04681 01320002 * PURGED 01330002 RQEDIE EQU X'04' EXCP DIE GOING TO PCI APPEND@YM05537 01350002 RQERRTYP EQU X'03' RELATED REQUEST FLAGS 01500021 RQETYP3 EQU X'03' RELATED REQUEST TYPE 3 01550021 RQETYP2 EQU X'02' RELATED REQUEST TYPE 2 01600021 RQETYP1 EQU X'01' RELATED REQUEST TYPE 1 01650021 SPACE 1 01700021 RQEFLAG DS XL1 FLAG BYTE IN RQE 01850021 SPACE 1 01900021 * BIT SETTINGS FOR RQEFLAG2 01950021 RQERETRY EQU X'80' RETRY REQUESTED 02000021 RQENOPST EQU X'40' NO POST REQUESTED 02050021 RQENOFRE EQU X'20' DONT FREE RQE 02100021 RQEFIXST EQU X'10' FIX PROCESS HAS BEEN STARTED, 02250021 * UNFIX REQUIRED 02250421 RQESTBL EQU X'08' THIS REQUEST IS STARTABLE - THAT IS 02252021 * ALL FIXING AND TRANSLATION IS DONE 02254021 RQESRBS EQU X'04' SRB SCHEDULED FOR THIS RQE 02260021 RQEPURGE EQU X'02' RQE UNDERGOING PURGE 02310021 RQECHEAC EQU X'01' CHANNEL END APPENDAGE COMPLETE 02350021 * BIT SETTINGS FOR RQEFLAG3 @ZM32371 02351003 RQEFLAG3 DS XL1 @ZM32371 02352003 RQEINIOS EQU X'80' REQUEST IN IOS @ZM32371 02362003 RQECLEAR EQU X'00' RESET FLAG BYTES @ZM32371 02372003 SPACE 1 02400021 RQEBL EQU *-RQE RQE BLOCK LENGTH 02550021 MEND , - */ 02600021 *%RQEL2 : ; 02650021 * DECLARE 1 RQE BDY(WORD) BASED(RQEPTR), /* REQUEST QUEUE ELEMENT 02660021 * FOR EXCP */ 02670021 * 2 RQEUCB PTR(31), /* ADDRESS OF THE UNIT CONTROL 02850021 * BLOCK. */ 02900021 * 2 RQEIOB PTR(31), /* ADDRESS OF THE INPUT OUTPUT 02950021 * BLOCK */ 03000021 * 2 RQEDEB PTR(31), /* ADDRESS OF THE DATA EXTENT 03050021 * BLOCK */ 03100021 * 2 RQETCB PTR(31), /* ADDRESS OF THE TASK CONTROL 03150021 * BLOCK */ 03200021 * 2 RQETCCW PTR(31), /* ADDRESS OF THE TRANSLATION IS 03250021 * CONTROL BLOCK - THIS FIELD 03300021 * USED BY VIO 03350002 * AS A WORK AREA. */ 03400021 * 2 RQENRQE PTR(31), /* ADDRESS OF NEXT RQE ON RELATED 03450021 * REQUEST QUEUE - THIS FIELD IS 03500021 * USED BY VIO AS 03550002 * A WORK AREA. */ 03600021 * 2 RQERRQ PTR(31), /* ADDRESS OF THE RELATED REQUEST 03650021 * QUEUE - USED BY VIO 03700002 * AS A WORK AREA */ 03750002 * 2 RQESRB PTR(31), /* ADDRESS OF SRB - USED BY VIO 03800002 * AS A WORK 03850002 * AREA. */ 03900021 * 2 RQEIPIB PTR(31), /* ADDRESS OF IOS PURGE INTERFACE 03950021 * BLOCK. */ 04050021 * 2 RQEPRT BIT(8), /* PROTECTION KEY USED IN THE */ 04100021 * 3 RQEPKEY BIT(4), /* PROTECTION KEY */ 04150021 * 3 * BIT(2), /* RESERVED-MUST BE ZERO @ZA37899*/ 04170003 * 3 RQEK0BYP BIT(1), /* SAMS-E REQUEST @ZA37899*/ 04176003 * 3 RQESMFRQ BIT(1), /* SMF RECORDING REQUIRED @ZA06067*/ 04190003 * 2 RQETYPE BIT(8), /* RQE TYPE FLAGS */ 04250021 * 3 RQE114 BIT(1), /* EXCPVR REQUEST */ 04300021 * 3 RQEVIRT BIT(1), /* VIRTUAL EXCP REQUEST */ 04350021 * 3 RQE1TO1 BIT(1), /* VIRTUAL = REAL EXCP REQUEST */ 04400021 * 3 RQEVAM BIT(1), /* VIO REQUEST */ 04410002 * 3 RQEEOEE BIT(1), /* END-OF-EXTENT-ERROR @YM04681*/ 04420002 * /* TO BE PURGED */ 04430002 * 3 RQEDIE BIT(1), /* EXCP DIE GOING TO PCI @YM05537*/ 04450002 * 3 RQETYP3 BIT(2), /* TYPE 3 RELATED REQUEST */ 04500021 * 4 RQETYP2 BIT(1), /* TYPE 2 RELATED REQUEST */ 04550021 * 4 RQETYP1 BIT(1), /* TYPE 1 RELATED REQUEST */ 04600021 * 2 RQEFLAG BIT(8), /* FLAGS INDICATING WORK TO DO 04650021 * AND POSITION IN EXCP */ 04700021 * 3 RQERETRY BIT(1), /* RETRY REQUEST FROM APPENDAGE */ 04750021 * 3 RQENOPST BIT(1), /* NO POST REQUEST FROM APPEND */ 04800021 * 3 RQENOFRE BIT(1), /* NO FREE REQUEST FROM APPEND */ 04850021 * 3 RQEFIXST BIT(1), /* FIXING IS STARTED FOR REQUEST */ 04900021 * 3 RQESTBL BIT(1), /* REQUEST IS STARTABLE */ 04950021 * 3 RQESRBS BIT(1), /* REQUEST SENT TO IOS */ 05000021 * 3 RQEPURGE BIT(1), /* PURGE IN CONTROL */ 05050021 * 3 RQECHEAC BIT(1), /* CHANNEL END APPENDAGE COMPL */ 05100021 * 2 RQEFLAG3 BIT(8), /* FLAG BYTE 3 @ZM32371*/ 05150003 * 3 RQEINIOS BIT(1), /* REQUEST IN IOS @ZM32371*/ 05160003 * 3 * BIT(7), /* UNUSED @ZM32371*/ 05165003 * 2 RQEEND CHAR(0); /* END OF RQE */ 05200021 *%DCL RQEBL CHAR; 05250021 *%RQEBL='RQEEND-RQEUCB'; /* LENGTH OF RQE */ 05300021