VOPBK Back to Index page
 
Prolog 
Control Block Contents 
   VOPBK DSECT
Storage Layout 
Cross Reference (Contains links to field and bit definitions)
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.


  VOPBK Prolog Top of page
 
 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)
 RELOCATION CONSIDERATIONS : None
 COMMENTS   :
 
 
  VOPBK Control Block Content Top of page
 

 VOPBK DSECT Top of page
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' VOPBUFSP Caller has specified the .buffer to use. .1.. .... VOPRWERR X'40' VOPRWERR Indicate register wrap error ..1. .... VOPSTLOG X'20' VOPSTLOG Indicate request store into guest logical address. ...1 .... VOPFONLY X'10' VOPFONLY Indicate this address space is read only. .... 1... VOPNXTMV X'08' VOPNXTMV More than one section of data will be moved. .... .1.. VOPGOTBF X'04' VOPGOTBF HCPVOP got free storage for the output data buffer. The address of the buffer is in VOPBUFAD. .... ...1 VOPNRLLK X'01' VOPNRLLK Skip releasing IPTE lock 0001 1 Bitstring 1 VOPFLAG1 Additional HCPVOP flags: 1... .... VOPGAM64 X'80' VOPGAM64 HCPVOP may need to execute in 64-bit addressing mode to access zArch mode guest storage as host logical storage. .1.. .... VOPAMO64 X'40' VOPAMO64 HCPVOP is currently executing in 64-bit addressing mode to handle a V=V zArch mode guest guest. ..1. .... VOPEXTIN X'20' VOPEXTIN Executing inside FETCH/STORE exit ...1 .... VOPWAS64 X'10' VOPWAS64 Flag to indicate whether we were 1, or were not 0, in 64 bit addressing mode before changing states .... 1... VOPFETCH X'08' VOPFETCH VOP was called to perform a fetch .... .1.. VOPSTORE X'04' VOPSTORE VOP was called to perform a store .... ..1. VOPIEP X'02' VOPIEP VOP was called to perform an I-fetch with IEP installed and enabled 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' VOPLAP Apply low address protection 1... .... VOPLAPFO X'80' VOPLAPFO Apply low address protection .1.. .... VOPPROT X'40' VOPPROT Apply key protection ..1. .... VOPGA64R X'20' VOPGA64R 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' VOPGA64S 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' VOPREGW Wrap register to R0 when RX=15 .... .11. VOPWRP64 X'06' VOPWRP64 64-bit wrap rule .... .1.. VOPWRPD X'04' VOPWRPD Diagnose wrap rule .... ..1. VOPWRP31 X'02' VOPWRP31 31-bit wrap rule .... ...1 VOPREALA X'01' VOPREALA Input is guest real address .... ...1 VOPGSTAR X'01' VOPGSTAR Input is guest AR number 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), zArch guest 0028 40 Signed 4 VOPASCEH High half of ASCE, zArch guest Reserved, 390 guest 002C 44 Signed 4 VOPASCEL (0) Low half of ASCE, zArch guest 002C 44 Bitstring 1 VOPASCB4 Byte 4 of ASCE, zArch guest 002D 45 Bitstring 1 VOPASCB5 Byte 5 of ASCE, zArch guest 002E 46 Bitstring 1 VOPASCB6 Byte 6 of ASCE, zArch guest 002F 47 Bitstring 1 VOPASCB7 Byte 7 of ASCE, zArch 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 VOPBAUTO BUFADDR=AUTO was specified .1.. .... VOPLNFLD VNPLNFLD VOPLNFLD The LENFIELD operand was specified, and the length to fetch is found in the halfword whose displacement is in VOPLENFD. ..1. .... VOPMXLEN VNPMXLEN VOPMXLEN 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 zArch mode guest. 00000090 VOPBKLEN *-VOPBK Define the length of the DSECT 00000012 VOPBKSIZ (VOPBKLEN+7)/8 Size of VOPBK in doublewords
 
 
  VOPBK Storage Layout Top of page
 
          
*** 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 Top of page
 
 
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
VOPEXTIN       0001 20
VOPFETCH       0001 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
VOPGSTAR       0026 01
VOPGWRAP       0008
VOPHADDR       0030
VOPHLADR       003C
VOPHLAEL       0044 00000010
VOPHLAEN       0038
VOPHLLEN       0040
VOPIASIT       0068
VOPIEP         0001 02
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
VOPNRLLK       0000 01
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
VOPSTORE       0001 04
VOPWAS64       0001 10
VOPWRPD        0026 04
VOPWRP31       0026 02
VOPWRP64       0026 06
 
This information is based on z/VM 7.3.0 Last updated on 22 Jun 2022 at 15:57:51 EDT.
Copyright IBM Corporation, 1990, 2022