|
Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
VOPBK
Control Block Contents
VOPBK DSECT
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' 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
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
*** 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 VOPEXTIN 0001 20 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 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 VOPWAS64 0001 10 VOPWRPD 0026 04 VOPWRP31 0026 02 VOPWRP64 0026 06
Copyright IBM Corporation, 1990, 2007