Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
PGM64
Control Block Contents
PGM64 DSECT
Cross Reference (Contains links to field and bit definitions)
PGM64 Control Block Content
PGM64 DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure PGM64 Page Management Block 0000 0 Bitstring 1 PGM64PG0 (4096) First page of ESAME PGMBK 0000 0 Dbl-Word 8 PGMGMISC (256) Miscallaneous ESAME mode PGMBK fields. Contains fields global to the entire PGMBK and/or the entire megabyte of virtual storage. 0800 2048 Dbl-Word 8 PGMGPGTB (256) Page-Table - contains 256 8 byte Page-Table Entries. Each entry is used to describe 4K of virtual storage. The complete 256 entry table describes 1 Megabyte of host virtual storage (whether guest or system owned). The architected definition of a Page-Table entry is contained in the HCPPAGTE COPY file. 00000008 PGMGPTEL 8 Length of an ESAME mode Page- Table Entry (in bytes) 00000808 PGMGPTBP1 PGMGPGTB+PGMGPTEL Offset of the 2nd entry in the PAGTB, used for an MVC to copy the first entry thru the rest of the first eighth of the PAGTB 00000900 PGMGPTBP2 PGMGPGTB+PGMGPTEL*32 2nd eighth of the PAGTB 00000A00 PGMGPTBP3 PGMGPGTB+PGMGPTEL*64 3rd eighth of the PAGTB 00000B00 PGMGPTBP4 PGMGPGTB+PGMGPTEL*96 4th eighth of the PAGTB 00000C00 PGMGPTBP5 PGMGPGTB+PGMGPTEL*128 5th eighth of the PAGTB 00000D00 PGMGPTBP6 PGMGPGTB+PGMGPTEL*160 6th eighth of the PAGTB 00000E00 PGMGPTBP7 PGMGPGTB+PGMGPTEL*192 7th eighth of the PAGTB 00000F00 PGMGPTBP8 PGMGPGTB+PGMGPTEL*224 8th eighth of the PAGTB 1000 4096 Bitstring 1 PGM64PG1 (4096) Second page of ESAME PGMBK 1000 4096 Dbl-Word 8 PGMGPSTB (256) Page Status Table. 256 entries, 8 bytes per entry. Each entry describes the status of one 4K page of host virtual storage. The definition of a Page Status Table entry is contained in the HCPPGSTE COPY file. 00001000 PGMGPSTO PGMGPSTB-PGM64 Offset of ESAME PGSTB in PGMBK 00000008 PGMGPSTL 8 Length of an ESAME mode page status table entry (in bytes) 00001008 PGMGPSTP1 PGMGPSTB+PGMGPSTL Offset of the 2nd entry in the PGSTB, used for an MVC to copy the first entry thru the rest of the first eighth of the PGSTB 00001100 PGMGPSTP2 PGMGPSTB+PGMGPSTL*32 2nd eighth of the PGSTB 00001200 PGMGPSTP3 PGMGPSTB+PGMGPSTL*64 3rd eighth of the PGSTB 00001300 PGMGPSTP4 PGMGPSTB+PGMGPSTL*96 4th eighth of the PGSTB 00001400 PGMGPSTP5 PGMGPSTB+PGMGPSTL*128 5th eighth of the PGSTB 00001500 PGMGPSTP6 PGMGPSTB+PGMGPSTL*160 6th eighth of the PGSTB 00001600 PGMGPSTP7 PGMGPSTB+PGMGPSTL*192 7th eighth of the PGSTB 00001700 PGMGPSTP8 PGMGPSTB+PGMGPSTL*224 8th eighth of the PGSTB 1800 6144 Dbl-Word 8 PGMGASAT (256) Auxiliary Storage Address Table. 256 entries, 8 bytes per entry. ENTRY. EACH ENTRY IS THE LOCATION ON AUXILIARY STORAGE WHERE THE VIRTUAL STORAGE IS BACKED UP. THE DEFINITION OF ONE ENTRY IS CONTAINED IN THE HCPASATE COPY FILE. 00000008 PGMGASAL 8 Length of an ESAME mode ASA table entry (in bytes) 00001800 PGMGASAO PGMGASAT-PGM64 Offset of ESAME ASATB in PGMBK 00001000 PGMGPABS *-PGMGPSTB Size of PGSTB and ASATB in bytes 00002000 PGMGBKLN (*-PGM64) Size of ESAME PGMBK in bytes 00000400 PGMGBKSZ (*-PGM64+7)/8 Size of ESAME PGMBK in DWs 0000 0 Signed 4 PGMGVM VMDBK address of PGMBK owner (or SNTBK address for an NSS shared segment) 0004 4 Signed 4 * Reserved for IBM use 0008 8 Dbl-Word 8 PGMGVIRT Virtual address of storage described by this block 0010 16 Signed 4 PGMGMIGP Count of pages currently being migrated from xstore to DASD 0014 20 Address 4 PGMGDEFA Deferred page translations queue anchor (points to CPEBK or 0) 0018 24 Signed 4 PGMGBKLK PGMBK multiple PTE serialization lock. This lock must be held when obtaining or releasing page serialization for multiple PTEs to prevent deadlocks. It also serializes the PGMBK page serialization deferral queue based at PGMGDEFA. It contains 0 when the lock is available, or the address of the CS loop that obtained the lock in the routine that currently holds the lock. Note that PGMGBKLK does NOT serialize the PGMBK itself in any way. The high order halfword of the PGMGFRMC field is used (via the HCPLKPGM and HCPULPGM macros) to lock the PGMBK itself into storage. 001C 28 Signed 4 PGMGSNTU Count of users sharing this NSS shared segment megabyte 0020 32 Bitstring 1 PGMGSTAT Status indicators 1... .... PGMGSVSE X'80' PGMBK REPRESENTS STORAGE FOR A SAVED SEGMENT .1.. .... PGMGIGRT X'40' PGMBK WAS PAGED IN DURING XSTORE MIGRATION 0021 33 Bitstring 1 * Reserved for IBM use 0022 34 Signed 2 PGMGEPOC Epoch for this PGMBK. The time stamps in this PGMBK have been adjusted to this epoch. 0024 36 Signed 4 PGMGXSTC Count of PTEs with pages in xstore 0028 40 Dbl-Word 8 * (0) 0028 40 Signed 4 * Reserved for IBM use 002C 44 Signed 4 PGMGALTP Pointer to the alternate PGMBK which contains the source alternate PTEs for any target alternate PTEs (with PGSALTPT set) in this PGMBK. 0030 48 Dbl-Word 8 * (0) 0030 48 Signed 4 * Reserved for IBM use 0034 52 Signed 4 PGMGASCB ASCBK address 0038 56 Signed 4 PGMGFRMC Frames in use count in low-order halfword and PGMBK lock count in high-order halfword. Update counts using Compare and Swap logic. 003C 60 Signed 4 * Reserved for IBM use. 0040 64 Dbl-Word 8 * (0) 0040 64 Signed 4 * Reserved for IBM use 0044 68 Signed 4 PGMGMPEB Address of the Minidisk Pool Extent block for converting a PRBN ASA into CCHHR. The following two fields are serialized by the available list replenishment demand scan lock, and are used to sort outbound FRMTEs for NSS/DCSS shared segment pages by segment (virtual address megabyte). They are not used for other types of pages (normal user page FRMTEs and VDISK FRMTEs are sorted by address space, but not megabyte, other non-blocked page FRMTEs are not sorted at all). 0048 72 Dbl-Word 8 * (0) 0048 72 Signed 4 * Reserved for IBM use 004C 76 Address 4 PGMGNPGM Address of the next PGMBK in the steal sort PGMBK list. Contains x'00000000' if the PGMBK is not yet on the list, x'FFFFFFFF' if the PGMBK is last on the list. Used only when processing NSS/DCSS shared segment FRMTEs. 0050 80 Dbl-Word 8 * (0) 0050 80 Signed 4 * Reserved for IBM use 0054 84 Address 4 PGMGLFRM Points to the last FRMTE so far chained (sorted) for this PGMBK. Used only when processing NSS/DCSS shared segment FRMTEs. 0058 88 Dbl-Word 8 * (0) 0058 88 Signed 4 * Reserved for IBM use 005C 92 Signed 4 PGMGP4EX Virtual Free Storage Manager virtual address of saved copy of the original PGSTB/ASATB for this megabyte - only used in NSS/DCSS saved segment STLBK PGMBKs for megabytes which contain shared writeable pages. The saved ASATEs point to the original spool slots, so that original shared writeable page contents can be provided for non-shared loads. Must be zero in normal user PGMBKs or STLBK PGMBKs which do not contain any shared writeable pages. 0060 96 Signed 8 PGMGITOD TOD clock value at which the SEGTE for this pageable PGMBK was invalidated. 0068 104 Signed 4 PGMGMTAR Migrate target last used against this PGMBK 006C 108 Signed 4 * Reserved for IBM use. 0070 112 Dbl-Word 8 * (0) 0070 112 Signed 4 * Reserved for IBM use 0074 116 Signed 4 PGMGSEGT Address of the STE associated with this PGMBK (valid only for "live" PGMBKs associated with attached STEs; may be zero otherwise). In pageable PGMBKs, is only reliable if the PGMBK is resident and attached to the STE and at least a share of VMDPTIL is held or if serialization (VMDPTIL and/or PTRM PTE PCL) has been held continuously since the STE was invalidated (to keep the segment table from being moved). Must be set to the current STE address whenever the STE is validated, and must be relocated for any valid STEs and/or valid PTRM PTEs whenever a segment table is moved. 0078 120 Signed 4 * Reserved for IBM use. 007C 124 Signed 4 PGMGPPTE Address of PTRM PTE when PGMBK is connected to a PTRM space. 0080 128 Dbl-Word 8 * (240) Reserved for IBM use. 00000800 PGMMSCLN (*-PGMGVM) Size of common area in bytes The following CKMAINT macro invocation ensures that the length of the ESAME format PGMBK common area is exactly 2048 bytes in length. CKMAINT will cause an assembly error if the length equate, PGMMSCLN, is not exactly equal to 2048. The following CKMAINT macro invocation ensures that the length of the ESAME format PGMBK is exactly 8192 bytes (two contiguous 4K pages). CKMAINT will cause an assembly error if the ESAME PGMBK length equate, PGMGBKLN, is not exactly equal to 8192.
PGM64 Storage Layout
*** PGM64 - Page Management Block * * +-------------------------------------------------------+ * 0 | | * = PGM64PG0 = * | | * +-------------------------------------------------------+ *1000 * *** PGM64 - Page Management Block *** Overlay for PGM64PG0 in PGM64 * * +-------------------------------------------------------+ * 0 | | * = PGMGMISC = * | | * +-------------------------------------------------------+ * 800 | | * = PGMGPGTB = * | | * +-------------------------------------------------------+ *1000 | | * = PGM64PG1 = * | | * +-------------------------------------------------------+ *2000 * *** Overlay for PGM64PG0 in PGM64 *** Overlay for PGM64PG1 in PGM64 * * +-------------------------------------------------------+ *1000 | | * = PGMGPSTB = * | | * +-------------------------------------------------------+ *1800 | | * = PGMGASAT = * | | * +-------------------------------------------------------+ *2000 * *** Overlay for PGM64PG1 in PGM64 *** Overlay for PGMGMISC in PGM64 * * +---------------------------+---------------------------+ * 0 | PGMGVM |///////////////////////////| * +---------------------------+---------------------------+ * 8 | PGMGVIRT | * +---------------------------+---------------------------+ * 10 | PGMGMIGP | PGMGDEFA | * +---------------------------+---------------------------+ * 18 | PGMGBKLK | PGMGSNTU | * +------+------+-------------+---------------------------+ * 20 |:GSTAT|//////| PGMGEPOC | PGMGXSTC | * +------+------+-------------+---------------------------+ * 28 |///////////////////////////| PGMGALTP | * +---------------------------+---------------------------+ * 30 |///////////////////////////| PGMGASCB | * +---------------------------+---------------------------+ * 38 | PGMGFRMC |///////////////////////////| * +---------------------------+---------------------------+ * 40 |///////////////////////////| PGMGMPEB | * +---------------------------+---------------------------+ * 48 |///////////////////////////| PGMGNPGM | * +---------------------------+---------------------------+ * 50 |///////////////////////////| PGMGLFRM | * +---------------------------+---------------------------+ * 58 |///////////////////////////| PGMGP4EX | * +---------------------------+---------------------------+ * 60 | PGMGITOD | * +---------------------------+---------------------------+ * 68 | PGMGMTAR |///////////////////////////| * +---------------------------+---------------------------+ * 70 |///////////////////////////| PGMGSEGT | * +---------------------------+---------------------------+ * 78 |///////////////////////////| PGMGPPTE | * +---------------------------+---------------------------+ * 80 |///////////////////////////////////////////////////////| * =///////////////////////////////////////////////////////= * |///////////////////////////////////////////////////////| * +-------------------------------------------------------+ * 800 * *** Overlay for PGMGMISC in PGM64
PGM64 Cross Reference
Symbol Dspl Value -------------- ---- ----- PGMGALTP 002C PGMGASAL 1800 00000008 PGMGASAO 1800 00001800 PGMGASAT 1800 PGMGASCB 0034 PGMGBKLK 0018 PGMGBKLN 1800 00002000 PGMGBKSZ 1800 00000400 PGMGDEFA 0014 PGMGEPOC 0022 PGMGFRMC 0038 PGMGIGRT 0020 40 PGMGITOD 0060 PGMGLFRM 0054 PGMGMIGP 0010 PGMGMISC 0000 PGMGMPEB 0044 PGMGMTAR 0068 PGMGNPGM 004C PGMGPABS 1800 00001000 PGMGPGTB 0800 PGMGPPTE 007C PGMGPSTB 1000 PGMGPSTL 1000 00000008 PGMGPSTO 1000 00001000 PGMGPSTP1 1000 00001008 PGMGPSTP2 1000 00001100 PGMGPSTP3 1000 00001200 PGMGPSTP4 1000 00001300 PGMGPSTP5 1000 00001400 PGMGPSTP6 1000 00001500 PGMGPSTP7 1000 00001600 PGMGPSTP8 1000 00001700 PGMGPTBP1 0800 00000808 PGMGPTBP2 0800 00000900 PGMGPTBP3 0800 00000A00 PGMGPTBP4 0800 00000B00 PGMGPTBP5 0800 00000C00 PGMGPTBP6 0800 00000D00 PGMGPTBP7 0800 00000E00 PGMGPTBP8 0800 00000F00 PGMGPTEL 0800 00000008 PGMGP4EX 005C PGMGSEGT 0074 PGMGSNTU 001C PGMGSTAT 0020 PGMGSVSE 0020 80 PGMGVIRT 0008 PGMGVM 0000 PGMGXSTC 0024 PGMMSCLN 0080 00000800 PGM64PG0 0000 PGM64PG1 1000
Copyright IBM Corporation, 1990, 2001