VOPBK - 64-bit CP - V4R4.0
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.

VOPBK

Prolog  

Control Block Contents  
   VOPBK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


VOPBK Prolog

 Name       : HCPVOPBK
 Description: HCPVOP simulation fetch/store work area
 DSECT      : VOPBK
 Function   : Work area used by HCPVOP simulation fetch/store
              routines.
 Located by : VMDVOPBK field of the VMDBK
 Created by : HCPBVMBK when a user logs on or when a new vCPU
              is defined
 Deleted by : HCPUSPFF when a user logs off or when a vCPU is
              detached
 Serialized : VMDBK dispatch lock (VMDBK local area)
 Comments   :

 

VOPBK Control Block Content


VOPBK DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      VOPBK          HCPVOP simulation fetch/store
                                        work area
0000    0 Signed       4 VOPFLAG (0)
0000    0 Bitstring    1 VOPFLAG0       Flags for HCPVOP processing:
          1... ....      VOPBUFSP       X'80' Caller has specified the
                                        .buffer to use.
          .1.. ....      VOPRWERR       X'40' Indicate register wrap
                                        error
          ..1. ....      VOPSTLOG       X'20' Indicate request store into
                                        guest logical address.
          ...1 ....      VOPFONLY       X'10' Indicate this address space
                                        is read only.
          .... 1...      VOPNXTMV       X'08' More than one section of
                                        data will be moved.
          .... .1..      VOPGOTBF       X'04' HCPVOP got free storage for
                                        the output data buffer. The
                                        address of the buffer is in
                                        VOPBUFAD.
0001    1 Bitstring    1 VOPFLAG1       Additional HCPVOP flags:
          1... ....      VOPGAM64       X'80' HCPVOP may need to execute
                                        in 64-bit addressing mode to
                                        access ESAME mode guest storage
                                        as host logical storage.
          .1.. ....      VOPAMO64       X'40' HCPVOP is currently
                                        executing in 64-bit addressing
                                        mode to handle a V=V ESAME mode
                                        guest guest.
0002    2 Bitstring    1 VOPPURGE       Purge operation bits
0003    3 Bitstring    1 VOPAR          AR number
0004    4 Signed       4 *              Reserved for future IBM use
0008    8 Dbl-Word     8 VOPGWRAP       Mask for address wrap (64-bit)
0010   16 Signed       4 VOPAGSIZ       Page size - 1 (2047/4095)
0014   20 Address      4 VOPASUBR       Subroutine for translation of
                                        guest logical (virtual, real, or
                                        absolute) to host logical
0018   24 Address      4 VOPBUFAD       Pointer to CP operand buffer
001C   28 Address      4 VOPGRHL        Subroutine for translation of
                                        guest real or absolute to host
                                        logical
0020   32 Signed       4 VOPIPLCK       Address of IPTE lock (zero if
                                        relocation not active)
0024   36 Signed       4 VOPARMS (0)    Input parameters
0024   36 Signed       2 VOPLEN         Length of data to be fetched/
                                        stored in bits 0-11.
0024   36 Bitstring    1 *              Bits 0-7 of length.
0025   37 Bitstring    1 VOPINFL0       Bits 8-11 of length and 4 bits
                                        for flags.
          .... 1...      VOPEXPRM       X'08' Additional parameters are
                                        defined in the VNPBK.
          .... .1..      VOPALETS       X'04' Guest-use ALET specified.
          .... ..1.      VOPASITS       X'02' I-ASIT specified.
          .... ...1      VOPMCRCD       X'01' Return an MCRECORD.
0026   38 Bitstring    1 VOPINFLG       Input flags (byte 2 of VOPARMS)
          1... ....      VOPLAP         X'80' Apply low address
                                        protection
          1... ....      VOPLAPFO       X'80' Apply low address
                                        protection
          .1.. ....      VOPPROT        X'40' Apply key protection
          ..1. ....      VOPGA64R       X'20' Bits 18-19 of VOPARMS =
                                        b'10' For entry points which
                                        accept a guest operand address
                                        input in R1, input guest 64-bit
                                        address is provided in 64-bit
                                        wide input R1; for all entry
                                        points which deal with guest
                                        operands, HCPVOP internally
                                        represents the 64-bit guest
                                        operand address in 64-bit R1.
          ...1 ....      VOPGA64S       X'10' Bits 18-19 of VOPARMS =
                                        b'01' For entry points which
                                        accept a guest operand address
                                        input in R1, input guest 64-bit
                                        address is provided in a 64-bit
                                        host real storage area pointed to
                                        by the 31-bit host real address
                                        in 32-bit input R1; for all entry
                                        points which deal with guest
                                        operands, HCPVOP internally
                                        represents the 64-bit guest
                                        operand address in a 64-bit host
                                        real storage area pointed to by
                                        the 31-bit host real address in
                                        31-bit R1. Notes : If neither
                                        VOPGA64R or VOPGA64S are on, then
                                        HCPVOP internally represents the
                                        31 bit guest operand address in
                                        32 bit R1, and, for all entry
                                        points which accept a guest
                                        operand address in R1, the R1
                                        input is a 31-bit guest operand
                                        address in 32-bit input R1. Notes
                                        : For entry points which accept a
                                        guest operand address input in
                                        R1, VOPGA64R and VOPGA64S are
                                        used to map both bits 18-19 of
                                        the input R0 parameter and also
                                        the copy of the input R0
                                        parameter saved in the VOPARMS /
                                        VOPINFLG fields. All entry points
                                        which deal with guest operands
                                        but do NOT accept a guest opeand
                                        address input in R1 have bits
                                        18-19 of the input R0 parameter
                                        undefined, and use the VOPERAND
                                        subroutine to determine the guest
                                        operand address. For these entry
                                        points, VOPGA64R and VOPGA64S are
                                        used both to MODIFY the local
                                        copy of the input R0 parameter
                                        (to indicate how VOPERAND has
                                        represented the guest operand
                                        address) and to map the copy of
                                        input R0 parameter (as modified
                                        by VOPERAND) saved in the VOPARMS
                                        / VOPINFLG fields. Needless to
                                        say, this is all much more
                                        confusing than it ought to be,
                                        but further cleanup is left for
                                        later, and should include an
                                        overhaul of HCPVINOP - HCPVOP
                                        interfaces.
          .... 1...      VOPREGW        X'08' Wrap register to R0 when
                                        RX=15
          .... .11.      VOPWRP64       X'06' 64-bit wrap rule
          .... .1..      VOPWRPD        X'04' Diagnose wrap rule
          .... ..1.      VOPWRP31       X'02' 31-bit wrap rule
          .... ...1      VOPREALA       X'01' Input is guest real address
0027   39 Bitstring    1 VOPCODE        The forth byte of input parm.
                                        First 4 bit is align code next 4
                                        bit is operand code or AR number
                                        or address space mode
0028   40 Dbl-Word     8 VOPASCE (0)    Address-Space-Control Element
                                        (ASCE), ESAME guest
0028   40 Signed       4 VOPASCEH       High half of ASCE, ESAME guest
                                        Reserved, 390 guest
002C   44 Signed       4 VOPASCEL (0)   Low half of ASCE, ESAME guest
002C   44 Bitstring    1 VOPASCB4       Byte 4 of ASCE, ESAME guest
002D   45 Bitstring    1 VOPASCB5       Byte 5 of ASCE, ESAME guest
002E   46 Bitstring    1 VOPASCB6       Byte 6 of ASCE, ESAME guest
002F   47 Bitstring    1 VOPASCB7       Byte 7 of ASCE, ESAME guest
0028   40 Signed       4 *              Reserved, 390 guest
002C   44 Signed       4 VOPSTD (0)     Segment-Table Designation (STD),
                                        390 guest
002C   44 Bitstring    1 VOPSTDB0       Byte 0 of STD, 390 guest
002D   45 Bitstring    1 VOPSTDB1       Byte 1 of STD, 390 guest
002E   46 Bitstring    1 VOPSTDB2       Byte 2 of STD, 390 guest
002F   47 Bitstring    1 VOPSTDB3       Byte 3 of STD, 390 guest
0030   48 Dbl-Word     8 VOPGADDR (0)   Input address (64-bit)
0030   48 Signed       4 VOPHADDR       High half of large input address
0034   52 Signed       4 VOPADDR        Low half (31-bit) input address
     Longer data moves can be handled in up to three sections. The host
     logical address for each section, as well as the length of each
     section, are saved in this small array with 3 entries. Each entry has a
     64-bit host logical address field (VOPGHLAD), the right half of which
     is mapped as a 31-bit host logical address field (VOPHLADR), and a
     length field (VOPHLLEN). The same names are used for all three entries,
     the table is accessed using an index register containing a multiple of
     the entry length (VOPHLAEL).
0038   56 Dbl-Word     8 VOPHLAEN (0)   A host logical address section
                                        entry
0038   56 Dbl-Word     8 VOPGHLAD (0)   Host logical address of the first
                                        section (64-bit)
0038   56 Signed       4 *              (high half of VOPGHVA1)
003C   60 Address      4 VOPHLADR       Host logical address of the first
                                        section (31-bit)
0040   64 Signed       4 VOPHLLEN       Length of the first section -1
0044   68 Signed       4 *              reserved for IBM use
          00000010       VOPHLAEL       *-VOPHLAEN Length of one entry
0048   72 Bitstring    1 * (32)         Space for two more entries
0068  104 Dbl-Word     8 VOPIASIT       I-ASIT for the guest-absolute
                                        address space to be accessed.
0070  112 Signed       4 VOPEXADR       Address of the extended parameter
                                        list, if one exists.
0074  116 Signed       4 VOPEXFLG (0)   Flag field from the extended
                                        parameter list.
0074  116 Bitstring    1 VOPEXFB0       Byte 0 of VOPEXFLG
          1... ....      VOPBAUTO       VNPBAUTO BUFADDR=AUTO was
                                        specified
          .1.. ....      VOPLNFLD       VNPLNFLD The LENFIELD operand was
                                        specified, and the length to
                                        fetch is found in the halfword
                                        whose displacement is in
                                        VOPLENFD.
          ..1. ....      VOPMXLEN       VNPMXLEN The MAXLEN operand was
                                        specified, and the maximum length
                                        to fetch is in VOPMAXLN.
0075  117 Bitstring    1 VOPEXFB1       Byte 1 of VOPEXFLG
0076  118 Bitstring    1 VOPEXFB2       Byte 2 of VOPEXFLG
0077  119 Bitstring    1 VOPEXFB3       Byte 3 of VOPEXFLG
0078  120 Signed       4 VOPLENFD       Displacement of the field from
                                        which to fetch the parameter list
                                        length.
007C  124 Signed       4 VOPLUNIT       Units in which the length to
                                        fetch is expressed.
0080  128 Address      2 VOPMAXLN       Maximum length to fetch, in DWs.
0082  130 Signed       2 VOPLENTH       Length fetched from LENFIELD
0084  132 Signed       4 *              reserved for IBM use
0088  136 Dbl-Word     8 VOPPSW         Guest PSW (bits 0-64) HCPVOP only
                                        uses VOPPSW to save the bits in
                                        the beginning of the guest's PSW.
                                        It has no need for the
                                        instruction address. So, VOPPSW
                                        is large enough to save the
                                        entire PSW for a 390 mode guest
                                        or the first half of an ESAME
                                        mode guest.
          00000090       VOPBKLEN       *-VOPBK Define the length of the
                                        DSECT
          00000012       VOPBKSIZ       (VOPBKLEN+7)/8 Size of VOPBK in
                                        doublewords

 

VOPBK Storage Layout

          
*** VOPBK - HCPVOP simulation fetch/store work area
*
*     +------+------+------+------+---------------------------+
*   0 |:FLAG0|:FLAG1|:PURGE|VOPAR |///////////////////////////|
*     +------+------+------+------+---------------------------+
*   8 |                       VOPGWRAP                        |
*     +---------------------------+---------------------------+
*  10 |         VOPAGSIZ          |         VOPASUBR          |
*     +---------------------------+---------------------------+
*  18 |         VOPBUFAD          |         VOPGRHL           |
*     +---------------------------+-------------+-------------+
*  20 |         VOPIPLCK          |   VOPLEN    |/////////////|
*     +---------------------------+-------------+/////////////|
*     |///////////////////////////////////////////////////////|
*     +---------------------------+---------------------------+
*  30 |         VOPHADDR          |         VOPADDR           |
*     +---------------------------+---------------------------+
*  38 |///////////////////////////|         VOPHLADR          |
*     +---------------------------+---------------------------+
*  40 |         VOPHLLEN          |///////////////////////////|
*     +---------------------------+---------------------------+
*  48 |///////////////////////////////////////////////////////|
*     =///////////////////////////////////////////////////////=
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  68 |                       VOPIASIT                        |
*     +---------------------------+------+------+------+------+
*  70 |         VOPEXADR          |:EXFB0|:EXFB1|:EXFB2|:EXFB3|
*     +---------------------------+------+------+------+------+
*  78 |         VOPLENFD          |         VOPLUNIT          |
*     +-------------+-------------+---------------------------+
*  80 |  VOPMAXLN   |  VOPLENTH   |///////////////////////////|
*     +-------------+-------------+---------------------------+
*  88 |                        VOPPSW                         |
*     +-------------------------------------------------------+
*  90
*
*** VOPBK - HCPVOP simulation fetch/store work area
          
*** Overlay for VOPLEN in VOPBK
*
*                                 +------+------+------+------+
*  20 ...                      24 |//////|:INFL0|:INFLG|:CODE |
*     +---------------------------+------+------+------+------+
*  28 |         VOPASCEH          |:ASCB4|:ASCB5|:ASCB6|:ASCB7|
*     +---------------------------+------+------+------+------+
*  30
*
*** Overlay for VOPLEN in VOPBK
          
*** Overlay for VOPASCE in VOPBK
*
*     +---------------------------+------+------+------+------+
*  28 |///////////////////////////|:STDB0|:STDB1|:STDB2|:STDB3|
*     +---------------------------+------+------+------+------+
*  30
*
*** Overlay for VOPASCE in VOPBK

 

VOPBK Cross Reference

Symbol         Dspl Value
-------------- ---- -----
VOPADDR        0034
VOPAGSIZ       0010
VOPALETS       0025 04
VOPAMO64       0001 40
VOPAR          0003
VOPARMS        0024
VOPASCB4       002C
VOPASCB5       002D
VOPASCB6       002E
VOPASCB7       002F
VOPASCE        0028
VOPASCEH       0028
VOPASCEL       002C
VOPASITS       0025 02
VOPASUBR       0014
VOPBAUTO       0074 80
VOPBKLEN       0088 00000090
VOPBKSIZ       0088 00000012
VOPBUFAD       0018
VOPBUFSP       0000 80
VOPCODE        0027
VOPEXADR       0070
VOPEXFB0       0074
VOPEXFB1       0075
VOPEXFB2       0076
VOPEXFB3       0077
VOPEXFLG       0074
VOPEXPRM       0025 08
VOPFLAG        0000
VOPFLAG0       0000
VOPFLAG1       0001
VOPFONLY       0000 10
VOPGADDR       0030
VOPGAM64       0001 80
VOPGA64R       0026 20
VOPGA64S       0026 10
VOPGHLAD       0038
VOPGOTBF       0000 04
VOPGRHL        001C
VOPGWRAP       0008
VOPHADDR       0030
VOPHLADR       003C
VOPHLAEL       0044 00000010
VOPHLAEN       0038
VOPHLLEN       0040
VOPIASIT       0068
VOPINFLG       0026
VOPINFL0       0025
VOPIPLCK       0020
VOPLAP         0026 80
VOPLAPFO       0026 80
VOPLEN         0024
VOPLENFD       0078
VOPLENTH       0082
VOPLNFLD       0074 40
VOPLUNIT       007C
VOPMAXLN       0080
VOPMCRCD       0025 01
VOPMXLEN       0074 20
VOPNXTMV       0000 08
VOPPROT        0026 40
VOPPSW         0088
VOPPURGE       0002
VOPREALA       0026 01
VOPREGW        0026 08
VOPRWERR       0000 40
VOPSTD         002C
VOPSTDB0       002C
VOPSTDB1       002D
VOPSTDB2       002E
VOPSTDB3       002F
VOPSTLOG       0000 20
VOPWRPD        0026 04
VOPWRP31       0026 02
VOPWRP64       0026 06

This information is based on z/VM V4R4.0. Last updated on 30 Jul 2003 at 13:28:04 EDT.
Copyright IBM Corporation, 1990, 2003