* 00050002 * %GOTO PRIN1; /* 00100002 MACRO 00150002 &LABEL AMDDATA &DSECT=YES */ 00200002 *%PRIN1 : ; 00250002 * 00300002 */* AMDPRDMP INPUT MAPPING MACRO */ 00310002 */* OS/VS2 RELEASE 2 -- 8/31/72 -- LEVEL 001 */ 00350002 */* */ 00400002 */* THIS MACRO DEFINES THE VARIOUS FORMATS OF AMDPRDMP INPUTS. */ 00450002 */* */ 00452002 */* TO USE THIS MACRO TO OBTAIN A DSECT OF AMDPRDMP INPUT */ 00460002 */* IN A BAL MODULE, CODE: */ 00470002 */* LABEL AMDDATA */ 00480002 */* ISSUE A USING ON EITHER LABEL OR PRDINPUT (IF LABEL IS */ 00490002 */* OMITTED) IN ORDER TO REFERENCE THE AREAS DEFINED IN THE */ 00490402 */* DSECT. */ 00490802 */* TO USE THIS MACRO TO DEFINE AMDPRDMP INPUT IN A BAL */ 00492002 */* MODULE WITHOUT GETTING A DSECT, CODE: */ 00494002 */* LABEL AMDDATA &DSECT=NO */ 00496002 */* */ 00498402 */* TO USE THIS MACRO IN PLS, DEFINE A POINTER, PRDINPTR, */ 00498802 */* TO POINT TO EITHER: */ 00499202 */* 1. THE AREA OF STORAGE INTO WHICH AMDPRDMP INPUT WILL BE */ 00499602 */* READ. (SAME AS BAL DSECT FACILITY) */ 00499702 */* 2. A 4104-BYTE AREA INTO WHICH DATA WILL BE MOVED TO */ 00499802 */* CREATE AN AMDPRDMP INPUT RECORD. */ 00499902 */* */ 00500002 */*A000000-999999 Y02006*/ 00510002 * 00550002 *%GOTO PRIN2; /* 00600002 SPACE 1 00650002 AIF ('&DSECT' EQ 'NO').PRIN010 00700002 &LABEL DSECT 00750002 AGO .PRIN020 00800002 .PRIN010 ANOP 00850002 &LABEL DS 0F 00900002 .PRIN020 ANOP 00950002 *********************************************************************** 01000002 * AMDPRDMP HEADER RECORD FORMATS -- COMMON FIELDS AND * 01050002 * FIELDS UNIQUE FOR DSS OR SVCDUMP INPUT * 01060002 *********************************************************************** 01100002 SPACE 1 01150002 PRDINPUT EQU * 01160002 PRDHDRID DS CL1 HEADER RECORD ID 01200002 PRDHDR EQU X'FF' HEADER ID 01210002 PRDRECID DS CL1 RECORD ID 01250002 PRDHDREC EQU X'FF' HEADER ID 01260002 PRDSAWRK EQU X'00' AMDSADMP WORK RECORD ID 01270002 PRDASID DS CL2 ASID OF MEMORY BEING DUMPED 01300002 PRDMODNM DS CL8 NAME OF PROGRAM THAT CREATED INPUT 01350002 PRDTODVL DS CL8 TOD CLOCK VALUE AT TIME OF DUMP 01400002 PRDTITLE DS CL100 TITLE FOR DUMP 01450002 PRDREGS EQU * 01500002 PRDFPR DS CL32 FLOATING POINT REGISTERS 01750002 PRDGPR DS CL64 GENERAL PURPOSE REGISTERS 01800002 PRDCR DS CL64 CONTROL REGISTERS 01850002 PRDPSW DS CL8 CURRENT PSW AT TIME OF DUMP 01900002 PRDCVT DS CL4 REAL ADDRESS OF CVT 01950002 DS 8F RESERVED FOR SVC DUMP USE @Z81700 01960000 PRDERRID DS CL10 ERROR ID @Z81700 01970000 DS CL48 RESERVED FOR SVC DUMP USE UZ83300 01980000 DS CL3722 REMAINING BYTES IN RECORD UZ83300 01990000 SPACE 1 02000002 *********************************************************************** 02050002 * THE FOLLOWING FIELDS OVERLAY THE PRDFPR AND SUCCEEDING * 02100002 * FIELDS FOR AMDSADMP INPUT * 02110002 *********************************************************************** 02150002 SPACE 1 02200002 ORG PRDFPR 02250002 PRDFLC EQU * 02260002 PRDCSW DS CL8 CSW AT ABSOLUTE LOCATION 64 02300002 PRDCAW DS CL4 CAW AT ABSOLUTE LOCATION 72 02350002 DS CL3972 RESERVED AREA 02400002 SPACE 1 02450002 *********************************************************************** 02500002 * AMDPRDMP DATA RECORD FORMAT * 02550002 *********************************************************************** 02600002 SPACE 1 02650002 ORG PRDHDRID 02700002 PRDKEY1 DS CL1 STORAGE KEY FOR 1ST 2K OF BLOCK 02750002 PRDKEY2 DS CL1 STORAGE KEY FOR 2ND 2K OF BLOCK 02800002 DS CL2 NAME OF THIS FIELD IS SAME AS 02850002 * CORRESPONDING FIELD IN HEADER -- 02900002 * I.E.,PRDASID -- CONTAINS ASID OF 02950002 * MEMORY DUMPED 03000002 PRDADDR DS CL4 ADDRESS OF STORAGE DUMPED (ON 4K 03050002 * BOUNDARY) 03060002 PRDDATA DS CL4096 DATA FIELD -- CONTAINS DATA THAT 03100002 * WAS AT THE ADDRESS LISTED IN THE 03110002 * PRDADDR FIELD 03120002 SPACE 1 03150002 *********************************************************************** 03200002 * AMDPRDMP CPU STATUS RECORD FORMAT * 03250002 *********************************************************************** 03300002 SPACE 1 03350002 ORG PRDHDRID 03400002 DS CL1 NAME OF THIS FIELD IS SAME AS 03450002 * CORRESPONDING FIELD IN HEADER -- 03500002 * I.E., PRDHDRID -- CONTAINS ID OF 03550002 * RECORD 03600002 DS CL1 NAME OF THIS FIELD IS SAME AS 03650002 * CORRESPONDING FIELD IN HEADER -- 03700002 * I.E., PRDRECID -- CONTAINS ID OF 03750002 * RECORD 03800002 PRDCPUID EQU X'0F' CPU STATUS RECORD ID 03810002 PRDFLAGS DS CL1 FLAGS IN CPU STATUS RECORD 03900002 PRDUNIPR EQU X'80' UNIPROCESSOR FLAG 03950002 PRDSSINV EQU X'40' STORE STATUS MAY BE INVALID FLAG 04000002 PRDGPRVL EQU X'20' GPRS VALID IF PRDSSINV ALSO =1 04050002 DS CL1 RESERVED 04052002 DC X'0000' THIS FIELD MUST BE '0000'X 04054002 PRDCPUAD DS CL2 ADDR OF CPU WHOSE STATUS WAS STORED 04060002 DS CL4096 NAME OF THIS FIELD IS SAME AS 04150002 * CORRESPONDING FIELD IN DATA RECORD 04200002 * -- I.E., PRDDATA -- CONTAINS CPU 04250002 * STATUS DATA 04300002 SPACE 1 04350002 ORG 04400002 * RESTORE POINTER TO HIGHEST VALUE 04410002 MEND */ 04450002 *%PRIN2 : ; 04500002 * 04550002 */********************************************************************/ 04560002 */* AMDPRDMP HEADER RECORD FORMATS -- COMMON FIELDS AND */ 04600002 */* FIELDS UNIQUE FOR DSS OR SVCDUMP INPUT */ 04650002 */********************************************************************/ 04700002 * 04750002 *DECLARE 04800002 * 1 PRDINPUT BASED(PRDINPTR) BDY(WORD), 04850002 * 2 PRDHDRID CHAR(1) BDY(WORD), /* HEADER RECORD ID */ 04900002 * 2 PRDRECID CHAR(1), /* RECORD ID */ 04950002 * 2 PRDASID CHAR(2) BDY(HWORD), /* ASID OF MEMORY DUMPED */ 05000002 * 2 PRDMODNM CHAR(8) BDY(WORD), /* PROGRAM THAT CREATED INPUT */ 05050002 * 2 PRDTODVL CHAR(8) BDY(WORD), /* TOD CLOCK VALUE AT TIME OF 05100002 * DUMP */ 05150002 * 2 PRDTITLE CHAR(100) BDY(WORD), /* TITLE FROM DUMP */ 05200002 * 2 PRDREGS CHAR(168) BDY(WORD), 05210002 * 3 PRDFPR CHAR(32) BDY(WORD), /* FLOATING POINT REGISTERS */ 05250002 * 3 PRDGPR CHAR(64) BDY(WORD), /* GENERAL PURPOSE REGISTERS */ 05300002 * 3 PRDCR CHAR(64) BDY(WORD), /* CONTROL REGISTERS */ 05350002 * 3 PRDPSW CHAR(8) BDY(WORD), /* CURRENT PSW AT TIME OF 05400002 * DUMP */ 05410002 * 2 PRDCVT CHAR(4) BDY(WORD), /* REAL ADDR OF CVT */ 05450002 2 * CHAR(32), /* RESERVED FOR SVC DUMP USE */ 05500000 2 PRDERRID CHAR(10), /* ERROR ID */ 05510000 2 * CHAR(48), /* RESERVED FOR SVC DUMP USE UZ83300 */ 05520000 2 * CHAR(3722); /* REMAINING BYTES IN RECORD UZ83300 */ 05530000 * 05550002 *DECLARE 05560002 * PRDHDR BIT(8) CONSTANT('FF'X), /* HEADER ID IN PRDHDRID FIELD*/ 05570002 * PRDHDREC BIT(8) CONSTANT('FF'X), /* HEADER ID IN PRDRECID 05580002 * FIELD */ 05590002 * PRDSAWRK BIT(8) CONSTANT('00'X); /* AMDSADMP WORK RECORD ID IN 05592002 * PRDRECID FIELD */ 05594002 * 05596002 */********************************************************************/ 05600002 */* THE FOLLOWING FIELDS OVERLAY THE PRDFPR AND SUCCEEDING */ 05650002 */* FIELDS FOR AMDSADMP INPUT */ 05700002 */********************************************************************/ 05750002 * 05800002 *DECLARE 05850002 * 1 PRDFLC DEF(PRDFPR) BDY(WORD), 05900002 * 2 PRDCSW CHAR(8) BDY(WORD), /* CSW AT ABSOLUTE LOCATION 64 05950002 * */ 05960002 * 2 PRDCAW CHAR(4) BDY(WORD), /* CAW AT ABSOLUTE LOCATION 72 06000002 * */ 06010002 * 2 * CHAR(3972) BDY(WORD); /* RESERVED AREA */ 06050002 * 06100002 */********************************************************************/ 06150002 */* AMDPRDMP DATA RECORD FORMAT */ 06200002 */********************************************************************/ 06250002 * 06300002 *DECLARE 06350002 * 1 * DEF(PRDHDRID) BDY(WORD), 06400002 * 2 PRDKEY1 CHAR(1) BDY(WORD), /* STORAGE KEY FOR 1ST 2K OF 06450002 * BLOCK */ 06500002 * 2 PRDKEY2 CHAR(1), /* STORAGE KEY FOR 2ND 2K OF 06550002 * BLOCK */ 06600002 * 2 * CHAR(2) BDY(HWORD), /* NAME OF THIS FIELD SAME AS 06650002 * CORRESPONDING FIELD IN HEADER 06700002 * I.E., PRDASID -- CONTAINS 06750002 * ASID OF MEMORY DUMPED */ 06800002 * 2 PRDADDR CHAR(4) BDY(WORD), /* ADDRESS OF STORAGE DUMPED 06850002 * (ON 4K BOUNDARY) */ 06860002 * 2 PRDDATA CHAR(4096) BDY(WORD); /* DATA FIELD -- CONTAINS DATA 06900002 * THAT WAS AT THE ADDRESS 06920002 * LISTED IN THE PRDADDR FIELD*/ 06930002 * 06950002 */********************************************************************/ 07000002 */* AMDPRDMP CPU STATUS RECORD FORMAT */ 07050002 */********************************************************************/ 07100002 * 07150002 *DECLARE 07200002 * 1 * DEF(PRDHDRID) BDY(WORD), 07250002 * 2 * CHAR(1) BDY(WORD), /* NAME OF THIS FIELD SAME AS 07300002 * CORRESPONDING FIELD IN HEADER 07350002 * I.E., PRDHDRID -- CONTAINS 07450002 * ID OF RECORD */ 07500002 * 2 * CHAR(1), /* NAME OF THIS FIELD SAME AS 07550002 * CORRESPONDING FIELD IN HEADER 07600002 * I.E., PRDRECID -- CONTAINS 07650002 * ID OF RECORD */ 07700002 * 2 PRDFLAGS CHAR(1) BDY(HWORD), /* FLAGS */ 07850002 * 3 PRDUNIPR BIT(1), /* UNIPROCCESSOR FLAG */ 07900002 * 3 PRDSSINV BIT(1), /* STORE STATUS MAY BE INVALID 07950002 * FLAG */ 08000002 * 3 PRDGPRVL BIT(1), /* GPRS VALID IF PRDSSINV 08050002 * ALSO =1 */ 08100002 * 3 * BIT(5), /* UNUSED FLAGS */ 08150002 * 2 * CHAR(1), /* RESERVED FIELD */ 08200002 * 2 * CHAR(2), /* FIELD OF ZEROES */ 08202002 * 2 PRDCPUAD CHAR(2) BDY(HWORD), /* ADDR OF CPU WHOSE STATUS 08210002 * WAS STORED */ 08220002 * 2 * CHAR(4096) BDY(WORD); /* NAME OF THIS FIELD SAME AS 08250002 * CORRESPONDING FIELD IN DATA 08300002 * RECORD -- I.E., PRDDATA -- 08400002 * CONTAINS CPU STATUS DATA */ 08450002 * 08500002 *DECLARE 08550002 * PRDCPUID BIT(8) CONSTANT('0F'X); /* CPU STATUS RECORD ID IN 08600002 * PRDRECID FIELD */ 08650002 * 08700002