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. RELOCATION CONSIDERATIONS : None 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
Copyright IBM Corporation, 1990, 2011