Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
GSBBK
Control Block Contents
GSBBK DSECT
GSBRBAE DSECT
Cross Reference (Contains links to field and bit definitions)
GSBBK Prolog
NAME : HCPGSBBK DESCRIPTION: Guest Storage Relocation Buffer Block DSECT : GSBBK FUNCTION : This control block is used during Live Guest Relocation to accumulate a set of guest pages to be sent from the source system to the destination system. It is tightly coupled to the HCPVPABK. ocated by - Creation tasks generally maintain a local pointer. Additionally, RLOGSBPW and RLOGSBPD will point to the GSBBK which is currently being filled in by the PGMBK walker (HCPRLTPW) and the DASD handler (HCPPODDQ) respectively. - The first fragment in a MBHLIST created by HCPRLMSQ will point to GSBVPA. This host logical pointer is used by post-send-processing routines to locate the GSBBK by subtracting GSBHDSZB. - This block does not exist on the destination system. CREATED BY : - Created via HCPGETST by HCPRLMGB/FB. DELETED BY : - Deleted via HCPRELST when HCPRLMRM has completed processing of this set of guest pages. - Deleted via HCPRELST when HCPRLS finds a GSBBK was not needed (unused.) REFERENCES : None SERIALIZED : Only one task should have the address of a particular GSBBK. RELOCATION CONSIDERATIONS : - This block is not relocated during a relocation of a guest from one system to another. - During a relocation, multiple GSBBKs are created on the source system as guest pages are being sent. The number in existence is roughly 2 (RLOGSBPW, RLOGSBPD) plus the number of outstanding sends (RLOSNDWT). NOTES : - The GSBBK is broken into three main parts. See each part for more information. - GSBHEAD: Header information (not transmitted) - GSBVPA: Virtual Page Array (Includes its own header) - GSBRBA: Real Buffer Address Array. - The GSBBK is variable length in size. And the GSBVPA is also variable length in size. To locate GSBRBA one must know the number of entries. Addr(GSBRBA) = ADDR(GSBBK)+GSBHDSZB+VPAHDSZB+(GSBPGCNT*VPAAESZB) Length(GSBBK) = GSBHDSZB+VPAHDSZB+GSBPGCNT*(VPAAESZB+GSBAESZB)
GSBBK Control Block Content
GSBBK DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure GSBBK Guest Storage Relocation Buffer Block GSBHEAD marks the beginning of the header information which is not transmitted from the source system to the destination system. This information is unique to the system it is located on. This information does not exist on the destination system. 0000 0 Address 4 GSBHEAD (0) 0000 0 Address 4 GSBMBHBK Host logical address of the MBHBK created after this GSBBK was filled and ready to send. 0004 4 Bitstring 1 GSBSTATE State of this GSBBK. 1... .... GSBFILL X'80' GSBFILL Buffers are being filled in. .1.. .... GSBSEND X'40' GSBSEND Send processing has begun. ..1. .... GSBSENT X'20' GSBSENT Send processing complete. (Sent) ...1 .... GSBPSEND X'10' GSBPSEND Post-send processing has begun. .... 1... GSBDONE X'08' GSBDONE Processing is complete. (Fretted!) .... .1.. GSBERROR X'04' GSBERROR An error was encountered attempting to send this GSBBK. 0005 5 Bitstring 3 * Reserved for future IBM use. 0008 8 Signed 2 GSBPGCNT Page count. Total number of VPAL and RBA entries. (Filled in or not.) 000A 10 Signed 2 GSBPCONT Count of pages with contents being sent. 000C 12 Signed 4 GSBRLOBK RLOBK for relocation that obtained this GSBBK 0010 16 Dbl-Word 8 GSBCPEDW Doubleword for HCPRLMSQ/HCPRLMRM post and wait serialization 0010 16 Signed 4 GSBRMCPE Address of CPEBK to stack to redrive HCPRLMRM processing 0014 20 Signed 4 GSBTHRCT Count of threads that still need this GSBBK to exist 00000018 GSBHDSZB *-GSBHEAD Size of GSBHEAD in bytes. 00000003 GSBHDSZD (GSBHDSZB+7)/8 Size of GSBHEAD in double words. GSBVPA is the Virtual Page Array Information. This section is transmitted from the source system to the destination system. The Virtual Page array is mapped by VPABK DSECT in HCPVPABK. It contains a header which is transmitted. 0018 24 Dbl-Word 8 GSBVPA (0) Virtual Page Array Information. (Variable length). GSBRBA is the Real Buffer Address Array. Each entry of this Array corresponds to the same entry in the virtual page array. For example, the third entry of this array corresponds to the third entry of the virtual page array. Each entry contains: 1) Host Absolute address of a frame with the contents of a guest page (GSBRBADR) 2) Host Absolute address of the PTE corresponding to the guest Virtual Page address (GSBSRPTE) The frame will represent a guest page with one of the following characteristics: Guest Page | Real Buffer Address (GSBRBADR) State | Resident | Address of the frame in situ. Paged to | The contents of the guest page are XSTORE | paged in from XSTORE into this frame. | The guest page is left in XSTORE. Paged to | The contents of the guest page are read DASD | in from paging DASD into this frame. | The guest page is left on DASD. Logically | zero or | Contains zero. contents not| being sent. | If the Real Buffer Address Array entry is non-zero, the content of the frame at the real address specified by the entry is transmitted from the source system to the destination system. PTE serialization is held for all guest pages in the virtual page array until HCPRLMRM, the recover message task, releases it. For XSTORE or DASD frames, the corresponding temporary frame is then returned to the managed buffer set. Since the GSBVPA is variable length, the Address of GSBRBA must be calculated. Addr(GSBRBA) = ADDR(GSBBK)+GSBHDSZB+VPAHDSZB+(GSBPGCNT*VPAAESZB) GSBRBA DS 0D Real Buffer Address Array.
GSBRBAE DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure GSBRBAE Guest Storage Relocation Buffer Block 0000 0 Dbl-Word 8 GSBRBADR Host Absolute Real Buffer Address. 0008 8 Dbl-Word 8 GSBSRPTE Host Absolute PTE address for the guest page 00000010 GSBAESZB *-GSBRBAE Size of 1 GSBRBAE in bytes 00000002 GSBAESZD (GSBAESZB+7)/8 Size of 1 GSBRBAE in double words.
GSBBK Storage Layout
*** GSBBK - Guest Storage Relocation Buffer Block * * +---------------------------+------+--------------------+ * 0 | GSBMBHBK |:STATE|////////////////////| * +-------------+-------------+------+--------------------+ * 8 | GSBPGCNT | GSBPCONT | GSBRLOBK | * +-------------+-------------+---------------------------+ * 10 | GSBCPEDW | * +-------------------------------------------------------+ * 18 * *** GSBBK - Guest Storage Relocation Buffer Block *** Overlay for GSBCPEDW in GSBBK * * +---------------------------+---------------------------+ * 10 | GSBRMCPE | GSBTHRCT | * +---------------------------+---------------------------+ * *** Overlay for GSBCPEDW in GSBBK *** GSBRBAE - Guest Storage Relocation Buffer Block * * +-------------------------------------------------------+ * 0 | GSBRBADR | * +-------------------------------------------------------+ * 8 | GSBSRPTE | * +-------------------------------------------------------+ * 10 * *** GSBRBAE - Guest Storage Relocation Buffer Block
GSBBK Cross Reference
Symbol Dspl Value -------------- ---- ----- GSBAESZB 0008 00000010 GSBAESZD 0008 00000002 GSBCPEDW 0010 GSBDONE 0004 08 GSBERROR 0004 04 GSBFILL 0004 80 GSBHDSZB 0014 00000018 GSBHDSZD 0014 00000003 GSBHEAD 0000 GSBMBHBK 0000 GSBPCONT 000A GSBPGCNT 0008 GSBPSEND 0004 10 GSBRBADR 0000 GSBRLOBK 000C GSBRMCPE 0010 GSBSEND 0004 40 GSBSENT 0004 20 GSBSRPTE 0008 GSBSTATE 0004 GSBTHRCT 0014 GSBVPA 0018
Copyright IBM Corporation, 1990, 2011