* %GOTO XPTEPLS ; /* 02050002 MACRO 02100002 IHAXPTE &DSECT=YES 03000002 AGO .XPTBIT DO NOT GENERATE PROLOGUE 03000402 *********************************************************************** 03002002 * * 03004002 * STATUS - * 03006002 * CHANGE LEVEL 0 * 03008002 * FUNCTION - * 03008402 * MAPPING MACRO FOR XPTE * 03008802 * ENTRY POINTS - * 03009202 * IHAXPTE MACRO CALL * 03009602 * INPUT - * 03009702 * SEE IHAXPTE MACRO DEFINITION * 03009802 * OUTPUT - * 03009902 * XPTE MAPPING MACRO * 03023202 * EXTERNAL REFERENCES - * 03033202 * N/A * 03035202 * EXITS, NORMAL - * 03035602 * N/A * 03036002 * EXITS, ERROR - * 03036402 * N/A * 03036502 * TABLES/WORK AREAS - * 03036602 * N/A * 03041002 * ATTRIBUTES - * 03043002 * BILINGUAL MACRO * 03045002 * CHARACTER CODE DEPENDENCY - * 03045402 * NONE * 03045502 * NOTES - * 03095502 * NONE * 03105502 * * 03115502 *********************************************************************** 03125502 .XPTBIT ANOP 03135502 IEZBITS , - DEFINE BITS 03145502 *********************************************************************** 03195502 ** EXTERNAL PAGE TABLE ENTRY 4/11/75 * 04000040 ** * 04050002 ** * 04150002 ** ONE EXTERNAL PAGE TABLE CONTAINING SIXTEEN EXTERNAL * 05000002 ** PAGE TABLE ENTRIES IS ASSOCIATED WITH EVERY PAGE TABLE * 06000002 ** REPRESENTING A PAGEABLE SEGMENT OF VIRTUAL STORAGE * 06050002 ** I.E., THERE ARE SIXTEEN XPTES FOR EACH SEGMENT. * 07000002 *********************************************************************** 08050002 AIF ('&DSECT' EQ 'YES').XPT001 DOES USER WANT DSECT 08100002 XPTE DS 0F 08150002 AGO .XPT002 BRANCH AROUND DSECT 08200002 .XPT001 ANOP GEN THE DSECT 08250002 XPTE DSECT , XPTEPTR 11000002 .XPT002 ANOP 11050002 XPTPROT DS CL1 - PROTECTION KEY 18000002 XPTRSV1 DS CL1 - RESERVED 19000002 XPTFLAGS DS BL1 - FLAG FIELD 19050002 XPTVIOLP EQU BIT0 - XPTLPID CONTAINS A VIO LPID. THE AUX- 19100040 * ILIARY STORAGE REPRESENTED BY XPTLPID 19150040 * SHOULD NOT BE DESTROYED- A LSID MUST BE 19200040 * OBTAINED FOR A PAGE-OUT. 1=SAVE EXIST 19250040 * ING AUXILIARY STORAGE. 0=EXISTING AUX 19300040 * ILIARY STORAGE MAY BE DISCARDED.@Z40WPYD 19350040 XPTXAV EQU BIT1 - EXTERNAL STORAGE ADDRESS VALID FLAG 26150002 * WHEN 1, EXT. ADDR. IS VALID 26200002 XPTCKF EQU BIT2 - CHANGE KEY FLAG; IF 1, KEY FOR THIS PAGE 26250040 * HAS BEEN CHANGED BY IEAVCKEY @Z40EPYG 29250040 XPTTAKE EQU BIT3 - RESERVED. WAS USED IN VS2/REL1 33000002 XPTVIO EQU BIT4 - WHEN 1, PAGE IS PART OF A VIO WINDOW 33100040 * @Z40WPYD 33110040 XPTRES2 EQU BIT4 - RESERVED. @Z40WPYD 33130040 XPTDEFER EQU BIT6 - ALLOCATION DEFERRED FLAG; WHEN 1, 33200002 * ALLOCATION DEFERRED FOR THIS PAGE 33220002 XPTRSV4 EQU BIT7 - RESERVED 33250002 XPTFLAG2 DS CL1 - SECOND FLAG BYTE. @Z40WPYD 33300040 * 33350040 XPTVALID EQU BIT0 - 1=LSID IN XPTLSID IS VALID. @Z40WPYD 33400040 XPTRES1 EQU BIT1 - RESERVED @Z40WPYD 33450040 XPTPOINP EQU BIT2 - PAGE-OUT IN PROGRESS FLAG. 1=PAGE-OUT IN 33500040 * PROGRESS. (IMPLIES THAT XPTVALID='0'B 33600040 * @Z40WPYD 33650040 XPTIOERR EQU BIT3 - I/O ERROR FLAG. 1=A PERMANENT READ I/O 33700040 * ERROR WAS SUFFERED BY THIS PAGE.@Z40WPYD 33750040 XPTLPID DS 0CL8 - THE LPID OF THE EXTERNAL STORAGE 35050002 * LOCATION OF THE VIRTUAL PAGE 35100002 XPTLGN DS 0F - LOGICAL GROUP NUMBER PORTION OF LPID IF 35105040 * VIO PAGE. @Z40WPYD 35110040 XPTLSID DS CL4 - AUX. STORAGE ADDRESS OF SLOT IF NOT VIO 35115040 * PAGE. @Z40WPYD 35120040 XPTLPN DS 0F - LOGICAL PAGE NUMBER PORTION OF LPID IF 35125040 * VIO PAGE. @Z40WPYD 35130040 XPTLSID2 DS CL4 - AUX. STORAGE ADDRESS OF SLOT IF NOT VIO 35135040 * PAGE AND DUPLEXED PAGE. @Z40WPYD 35140040 XPTEND DS 0C 35250002 XPTLEN EQU XPTEND-XPTE - LENGTH OF EXTERNAL PAGE TABLE ENTRY 37000002 MEND , */ 37050002 *%XPTEPLS : ; 39000002 * /*******************************************************************/ 39010002 * /* EXTERNAL PAGE TABLE ENTRY 4/11/75 */ 39012040 * /* */ 39014002 * /* */ 39016002 * /* ONE EXTERNAL PAGE TABLE CONTAINING SIXTEEN EXTERNAL */ 39018002 * /* PAGE TABLE ENTRIES IS ASSOCIATED WITH EVERY PAGE TABLE */ 39020002 * /* REPRESENTING A PAGEABLE SEGMENT OF VIRTUAL STORAGE */ 39070002 * /* I.E., THERE ARE SIXTEEN XPTES FOR EACH SEGMENT. */ 40200002 * /*******************************************************************/ 40250002 * %IF XPT9999^=',' /* IS BLOCK PART OF STRUCTURE */ 46100002 * %THEN %XPT9999=';'; /* NO, SET UP NORMAL END */ 46150002 * %IF XPTLEVEL^='' /* DID USER SUPPLY LEVEL NUMBER */ 46200002 * %THEN %GOTO XPTPLS1; /* YES, DO NOT GEN 1 LEVEL */ 46250002 *DECLARE 46300002 * 1 XPTE BASED(XPTEPTR) 48000002 * %GOTO XPTPLS2; /* SKIP GEN FOR USER-GIVEN LEVEL */ 48050002 * %XPTPLS1: XPTDUM=XPTLEVEL||' XPTE'; /* SET UP USER-SUPPLIED LEVELS */ 48100002 * XPTDUM 48150002 * %XPTPLS2:; 48152002 * BDY(WORD), 48160002 * 4 XPTPROT CHAR(1), /* PROTECTION KEY */ 57000002 * 4 XPTRSV1 CHAR(1), /* RESERVED */ 58000002 * 4 XPTFLAGS CHAR(1), /* FLAG FIELD */ 59000002 * 8 XPTVIOLP BIT(1), /* SAVE AUXILIARY STORAGE FLAG 60000040 * WHEN 1, INDICATES VIO DATA 60050002 * SET PAGE TO BE SAVED */ 60100002 * 8 XPTXAV BIT(1), /* EXTERNAL STORAGE ADDRESS VALID 67000002 * FLAG. WHEN 1, EXTERNAL ADDRESS 68000002 * IS VALID. */ 69000002 * 8 XPTCKF BIT(1), /* CHANGE KEY FLAG: IF 1, KEY FOR 71000040 * THIS PAGE HAS BEEN CHANGED BY 73000040 * IEAVCKEY @Z40EPYG */ 75000040 * 8 * BIT(1), /* RESERVED */ 78000002 * 8 XPTVIO BIT(1), /* WHEN 1, PAGE IS PART OF A VIO 80000040 * WINDOW @Z40WPYD*/ 80050040 * 8 XPTRES2 BIT(1), /* RESERVED. @Z40WPYD*/ 80100040 * 8 XPTDEFER BIT(1), /* ALLOCATION DEFERRED FLAG 83050002 * WHEN 1, ALLOCATION DEFERRED FOR 83060002 * THIS PAGE. */ 83070002 * 8 XPTRSV4 BIT(1), /* RESERVED */ 83100002 * 4 XPTFLAG2 CHAR(1), /* SECOND FLAG BYTE @Z40WPYD */ 83104040 * 8 XPTVALID BIT(1), /* 1=LSID IN XPTE IS VALID. 83108040 * @Z40WPYD */ 83112040 * 8 XPTRES1 BIT(1), /* RESERVED @Z40WPYD */ 83114040 * 8 XPTPOINP BIT(1), /* 1=PAGE-OUT IN PROGRESS.(IMPLIES 83124040 * XPTVALID='0'B. @Z40WPYD */ 83128040 * 8 XPTIOERR BIT(1), /* 1=A PERMANENT READ I/O ERROR WAS 83132040 * SUFFERED BY THIS PAGE.@Z40WPYD */ 83136040 * 8 * BIT(4), /* RESERVED @Z40WPYD */ 83140040 * 4 XPTLPID CHAR(8) BDY(WORD), /* THE LPID OF THE EXTERNAL 83200002 * STORAGE LOCATION OF THE 83250002 * VIRTUAL PAGE */ 83300002 * 8 XPTLGN FIXED(32), /* LGN PORTION OF LPID IF VIO 83305040 * PAGE. @Z40WPYD */ 83310040 * 12 XPTLSID FIXED(32), /* AUX. STORAGE ADDRESS OF SLOT 83315040 * IF NOT VIO PAGE. @Z40WPYD */ 83320040 * 8 XPTLPN FIXED(32), /* LPN PORTION OF LPID IF VIO 83325040 * PAGE. @Z40WPYD */ 83330040 * 12 XPTLSID2 FIXED(32); /* AUX. STORAGE ADDR OF SLOT 83335040 * IF NOT VIO AND DUPLEXED PAGE. 83340040 * @Z40WPYD */ 83345040 * %XPTELEN='LENGTH(XPTE)'; /* LENGTH OF XPTE */ 87000002