Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.

GSBBK

Prolog  

Control Block Contents  
   GSBBK DSECT
   GSBRBAE DSECT

Storage Layout  

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

This information is based on z/VM V6R2.0. Last updated on 21 Nov 2011 at 11:04:25 EDT.
Copyright IBM Corporation, 1990, 2011