*% GOTO CATPLS1; /* BILINGUAL MACRO 00050000 MACRO 00100000 IECDCAT 00150000 DSECT 00200000 CAT DS 0F 00250000 SPACE 1 */ 00300000 *%CATPLS1 : ; 00350000 */* ******************************************************************/ 00400000 */* */ 00450000 */* THIS DSECT DESCRIBES AN ENTRY IN THE CHANNEL AVAILABILITY */ 00500000 */* TABLE. THE TABLE IS CPU RELATED AND RESIDES IN THE PCCA. */ 00550000 */* EACH PHYSICAL CHANNEL ATTACHED TO THE CPU CONTAINS AN ENTRY */ 00600000 */* IN THE CAT AND IS INDEXED BY THAT CHANNEL NUMBER. THE ENTRY */ 00650000 */* CONTAINS THE CHANNEL ID, CHANNEL STATUS, AND CHANNEL */ 00700000 */* STATISTICS. */ 00750000 */* THE FOLLOWING FIELDS ARE MODIFIED BY THE I/O SUPERVISOR. */ 00800000 */* THE MODIFICATIONS ARE SERIALIZED VIA DISABLED STATE AND */ 00850000 */* ALWAYS IN THE CPU OWNING THIS CAT. */ 00900000 */* CATFLA */ 00950000 */* CATSIOCT */ 01000000 */* */ 01050000 */* ******************************************************************/ 01100000 * % GOTO CATPLS2; /* 01150000 SPACE 1 01200000 CATFLG DS XL1 CAT ENTRY FLAG BYTE (NON-IOS) 01250000 CATRES1 EQU X'80' RESERVED 01300000 CATNOP EQU X'40' CHANNEL NOT OPERATIVE 01350000 CATNGEN EQU X'20' CHANNEL NOT SYSGENNED 01400000 CATNCPU EQU X'10' CHANNEL NOT ON THIS CPU 01450000 CATNID EQU X'08' CHANNEL ID (CATCHID) INVALID 01500000 CATFLG5 EQU X'04' RESERVED 01550000 CATFLG6 EQU X'02' RESERVED 01600000 CATDSABL EQU X'01' CHANNEL DISABLED @ZA30350 01650000 CATFLA DS XL1 IOS FLAG BYTE 01700000 CATBSY EQU X'80' CHANNEL BUSY 01750000 CATIORST EQU X'40' CHAN NEED I/O RESTART @G552PLM 01770055 CATCCRST EQU X'20' CHAN ERR ON I/O INTERRUPT @G51BPLM 01800051 CATMCRST EQU X'10' CHAN ERR ON MACH CHK INTRPT @G51BPLM 01810051 CATSOL EQU X'08' SIO CC=0 DONE @ZA30350 01820000 CATFLARS EQU X'07' RESERVED @ZA30350 01830000 CATSIOCT DS XL2 CHANNEL SIO COUNT 01850000 CATCHID DS XL4 CHANNEL ID 01900000 CATELP2 EQU 3 ENTRY LENGTH IN POWERS OF 2 01950000 CATEL EQU *-CAT CHANNEL TABLE ENTRY LENGTH 02000000 MEND , */ 02050000 *%CATPLS2 : ; 02100000 * DCL 1 CAT BASED(CATPTR), 02150000 * 2 CATENTRY CHAR(1), /* ENTRY NAME */ 02200000 * 3 CATFLG CHAR(1), /* CAT FLAG BYTE (NON-IOS) */ 02250000 * 4 CATRES1 BIT(1), /* RESERVED */ 02300000 * 4 CATNOP BIT(1), /* CHANNEL NOT OPERATIVE */ 02350000 * 4 CATNGEN BIT(1), /* CHANNEL NOT SYSGENNED */ 02400000 * 4 CATNCPU BIT(1), /* CHANNEL NOT ON THIS CPU */ 02450000 * 4 CATNID BIT(1), /* CHANNEL ID INVALID */ 02500000 * 4 CATFLG5 BIT(1), /* RESERVED */ 02550000 * 4 CATFLG6 BIT(1), /* RESERVED */ 02600000 * 4 CATDSABL BIT(1), /* CHANNEL DISABLED @ZA30350*/ 02650000 * 2 CATFLA BIT(8), /* IOS FLAG BYTE */ 02700000 * 3 CATBSY BIT(1), /* CHANNEL BUSY */ 02750000 * 3 CATIORST BIT(1), /* CHAN NEEDS I/O RESTART @G552PLM*/ 02770055 * 3 CATCCRST BIT(1), /* CHAN ERR I/O INTRUPT @G51BPLM*/ 02800051 * 3 CATMCRST BIT(1), /* CHAN ERR ON MACH CHK @G51BPLM*/ 02810051 * 3 CATSOL BIT(1), /* SIO CC=0 DONE @ZA30350*/ 02820000 * 3 CATFLARS BIT(3), /* RESERVED @ZA30350*/ 02830000 * 2 CATSIOCT CHAR(2), /* CHANNEL SIO COUNT */ 02850000 * 2 CATCHID CHAR(4), /* CHANNEL ID */ 02900000 * 2 CATEND CHAR(0); /* END OF CAT */ 02950000 * DCL CATELP2 BIT(8) CONSTANT('03'X); /* 03000000 * ENTRY LENGTH IN 03050000 * POWERS OF 2 */ 03100000 * 03150000 *%DCL CATEL CHAR; /* LENGTH OF CAT */ 03200000 *%CATEL='ADDR(CATEND)-ADDR(CATENTRY)'; 03250000