|
Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
REFBK
Control Block Contents
REFBK DSECT
REFENTRY DSECT
Cross Reference (Contains links to field and bit definitions)
REFBK Prolog
NAME : HCPREFBK
DESCRIPTION: Page References Services Parameter Block
DSECT : REFBK
FUNCTION : The REFBK is used to pass parameters for
diagnose X'258'.
LOCATED BY : Guest Rx register.
CREATED BY : Created in the guest virtual machine's storage and
copied to VMDVOBUF for CP to use.
DELETED BY : Deleted by the guest virtual machine.
SERIALIZED : Guest Virtual Machine is responsible.
COMMENTS : Changes to this control block may require macros
PFAULT and REFPAGE to also change.
REFBK Control Block Content
REFBK DSECT
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure REFBK Page References Services
Parameter Block
0000 0 Signed 2 REFDIAGC Diagnose number.
0002 2 Signed 2 REFFCODE Diagnose function code.
0004 4 Signed 2 REFDWLEN Size of block in doublewords
0006 6 Signed 2 REFVERSN Version number of this REFBK
.... ...1 REFVER1 1 REFVER1 Indicates REFBK is
version 1
.... ..1. REFVER2 2 REFVER2 Indicates REFBK is
version 2
0008 8 Dbl-Word 8 * (0)
0008 8 Address 8 REFGADDR For version 2, fcn code 0, PFAULT
TOKEN, this field contains the
guest real addr of the token to
be assoc. with version 2 page
fault handshaking.
0008 8 Signed 4 REFALET For function code 03, BLOCK form
of INFORM function, this field
contains the ALET of the address
space containing the pages about
to be referenced.
000C 12 Address 4 REFADDR (0) For version 1, fcn code 0, PFAULT
TOKEN, this field contains the
guest real address of the token
to be associated with
AR-specified page fault
handshaking.
For function code 02, LIST
form of INFORM function, this
field contains the guest real
address of the page list. The
page list is a set of
ALET/page numbers.
For function code 03, BLOCK
form of INFORM function, this
field contains the starting
absolute page address of a
range of pages.
000C 12 Bitstring 3 * First part of address.
000F 15 Bitstring 1 REFADDR3 Used to check last byte.
0010 16 Signed 8 REFSELMK For version 2, fcn code 0, PFAULT
TOKEN, this field contains the
selection mask to be associated
with version 2 page fault
handshaking. Note: When not in
z/Architecture bits 33-63 are
ignored.
0010 16 Signed 4 REFCOUNT For function code 02, LIST form
of INFORM function, this field
contains the count of ALET/page
number pairs in the list pointed
to by REFADDR.
00000002 REFCTMIN 2 Minimum number of entries for
list form.
00004000 REFCTMAX 16384 Maximum number of entries
for list form.
00000010 REFGROUP REFCOUNT For function code 03,
BLOCK form of INFORM function,
this field contains the count of
the number of span of pages that
are about to be referenced.
00040000 REFGRPMX 262144 Maximum number of groups
for block form.
0014 20 Signed 4 REFSBGRP For function code 03, BLOCK form
of INFORM function, this field
contains the count of the number
of subgroup that are about to be
referenced.
00040000 REFSGPMX REFGRPMX Maximum number of
subgroups for block form.
0018 24 Signed 8 REFCMPMK For version 2, fcn code 0, PFAULT
TOKEN, this field contains the
compare mask to be associated
with version 2 page fault
handshaking. Note: When not in
z/Architecture bits 33-63 are
ignored.
0018 24 Signed 4 REFSPAN For function code 03, BLOCK form
of INFORM function, this field
contains the number of
consecutive pages that should be
condisered as a single span of
pages within the range of pages.
00040000 REFSPNMX REFGRPMX Maximum number of spans
for block form.
001C 28 Signed 4 REFSKIP For function code 03, BLOCK form
of INFORM function, this field
contains the number of pages that
should be considered as a gap
between each block. This value is
number of pages calculated by
subtracting any block ending
address (plus one) from the next
block starting address.
00020000 REFSKPMX 131072 Maximum number of skips
for block form.
0020 32 Bitstring 1 REFV2FLG Version 2 flag byte
1... .... REFZARCH X'80' REFZARCH When set, the vCPU
must be running in z/Architecture
mode. When not set, the vCPU must
be running in non z/Architecture
mode.
0021 33 Bitstring 1 * (3) Reserved for IBM use
0024 36 Signed 4 * Reserved for IBM use
0020 32 Bitstring 1 REFDIREC Byte used to indicate ascending
and descending order. It also
indicates whether REFADDR is the
lowest address or the highest.
This should be 1 (ascending) or
descending (-1), but the value is
not validated. Bit 0 is check to
see if it is ascending (0) or
descending (1).
1111 1111 REFDESCD X'FF' Minus one to indicate
descending order.
0021 33 Bitstring 1 * (3) Reserved for IBM use.
0024 36 Signed 4 * Reserved for IBM use.
00000004 REFNZTKL 4 Token area is 4 bytes when
guest is not in z/Architecture
mode.
00000008 REFZTKNL 8 Token area is 8 bytes when
guest is in z/Architecture mode.
00000028 REFLEN *-REFBK REFBK length in bytes.
00000005 REFSIZE (REFLEN+7)/8 REFBK size in
doublewords
This DSECT used to reference the list form of
REFPAGE.
REFENTRY DSECT
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure REFENTRY Page References Services
Parameter Block
0000 0 Dbl-Word 8 REFCUREN (0) Current entry.
0000 0 Address 4 REFCALET Current ALET entry.
0004 4 Address 4 REFCADDR Current address to block.
00000008 REFLSTSZ *-REFENTRY Size of entry.
0008 8 Dbl-Word 8 REFNXTEN (0) Next entry.
0008 8 Address 4 REFNALET Next ALET entry.
000C 12 Address 4 REFNADDR Next address to block.
The following is used to get count of entries per
page.
00000200 REFENPPG (*-*+4096)/(REFNXTEN-REFCUREN)
The number of entries per page.
REFBK Storage Layout
*** REFBK - Page References Services Parameter Block
*
* +-------------+-------------+-------------+-------------+
* 0 | REFDIAGC | REFFCODE | REFDWLEN | REFVERSN |
* +-------------+-------------+-------------+-------------+
* 8 | REFGADDR |
* +-------------------------------------------------------+
* 10
*
*** REFBK - Page References Services Parameter Block
*** Overlay for REFGADDR in REFBK
*
* +---------------------------+--------------------+------+
* 8 | REFALET |////////////////////|:ADDR3|
* +---------------------------+--------------------+------+
* 10 | REFSELMK |
* +-------------------------------------------------------+
* 18
*
*** Overlay for REFGADDR in REFBK
*** Overlay for REFSELMK in REFBK
*
* +---------------------------+---------------------------+
* 10 | REFCOUNT | REFSBGRP |
* +---------------------------+---------------------------+
* 18 | REFCMPMK |
* +-------------------------------------------------------+
* 20
*
*** Overlay for REFSELMK in REFBK
*** Overlay for REFCMPMK in REFBK
*
* +---------------------------+---------------------------+
* 18 | REFSPAN | REFSKIP |
* +------+--------------------+---------------------------+
* 20 |:V2FLG|////////////////////|///////////////////////////|
* +------+--------------------+---------------------------+
* 28
*
*** Overlay for REFCMPMK in REFBK
*** Overlay for REFV2FLG in REFBK
*
* +------+--------------------+---------------------------+
* 20 |:DIREC|////////////////////|///////////////////////////|
* +------+--------------------+---------------------------+
* 28
*
*** Overlay for REFV2FLG in REFBK
*** REFENTRY - Page References Services Parameter Block
*
* +---------------------------+---------------------------+
* 0 | REFCALET | REFCADDR |
* +---------------------------+---------------------------+
* 8 | REFNALET | REFNADDR |
* +---------------------------+---------------------------+
* 10
*
*** REFENTRY - Page References Services Parameter Block
REFBK Cross Reference
Symbol Dspl Value
-------------- ---- -----
REFADDR 000C
REFADDR3 000F
REFALET 0008
REFCADDR 0004
REFCALET 0000
REFCMPMK 0018
REFCOUNT 0010
REFCTMAX 0010 00004000
REFCTMIN 0010 00000002
REFCUREN 0000
REFDESCD 0020 FF
REFDIAGC 0000
REFDIREC 0020
REFDWLEN 0004
REFENPPG 000C 00000200
REFFCODE 0002
REFGADDR 0008
REFGROUP 0010 00000010
REFGRPMX 0010 00040000
REFLEN 0024 00000028
REFLSTSZ 0004 00000008
REFNADDR 000C
REFNALET 0008
REFNXTEN 0008
REFNZTKL 0024 00000004
REFSBGRP 0014
REFSELMK 0010
REFSGPMX 0014 00040000
REFSIZE 0024 00000005
REFSKIP 001C
REFSKPMX 001C 00020000
REFSPAN 0018
REFSPNMX 0018 00040000
REFVERSN 0006
REFVER1 0006 01
REFVER2 0006 02
REFV2FLG 0020
REFZARCH 0020 80
REFZTKNL 0024 00000008
This information is
based on z/VM V5R3.0.
Last updated on 25 Jun 2007 at 17:18:01 EDT.
Copyright IBM Corporation, 1990, 2007