Programming Interface Information:
This information is NOT
intended to be
used as Programming Interfaces of VM/ESA. It is to be used for diagnosis only. |
REFBK
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 Y(REFSIZE) Size of block in doublewords. ****************----------- 0006 6 Signed 2 REFVERSN Y(REFVERCD) Version field. ****************----------- 00000001 REFVERCD 1 The version number of this REFBK. 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 function code 00, TOKEN function, this field contains the guest real storage 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 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 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 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. 00000028 REFLEN *-REFBK REFBK length in bytes. 00000005 REFSIZE (REFLEN+7)/8 REFBK size in doublewords This will cause an assembly error if this control block gets too large to fit into VMDVOBUF. 0028 40 Address 4 * (0) IEV075 will resu lt if REFSIZE*8 GT 256 @P3714FM 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 | REFALET |////////////////////|:ADDR3| * +---------------------------+--------------------+------+ * 10 | REFCOUNT | REFSBGRP | * +---------------------------+---------------------------+ * 18 | REFSPAN | REFSKIP | * +------+--------------------+---------------------------+ * 20 |:DIREC|////////////////////|///////////////////////////| * +------+--------------------+---------------------------+ * 28 * *** REFBK - Page References Services Parameter Block *** REFENTRY - Page References Services Parameter Block * * +---------------------------+---------------------------+ * 0 | REFCALET | REFCADDR | * +---------------------------+---------------------------+ * 8 | REFNALET | REFNADDR | * +---------------------------+---------------------------+ * 10 * *** REFENTRY - Page References Services Parameter Block
REFBK Cross Reference
(contains links to field and bit definitions)Symbol Dspl Value -------------- ---- -----REFADDR 000C
REFADDR3 000F
REFALET 0008
REFCADDR 0004
REFCALET 0000
REFCOUNT 0010
REFCTMAX 0010 00004000
REFCTMIN 0010 00000002
REFCUREN 0000
REFDESCD 0020 FF
REFDIAGC 0000
REFDIREC 0020
REFDWLEN 0004
REFENPPG 000C 00000200
REFFCODE 0002
REFGROUP 0010 00000010
REFGRPMX 0010 00040000
REFLEN 0024 00000028
REFLSTSZ 0004 00000008
REFNADDR 000C
REFNALET 0008
REFNXTEN 0008
REFSBGRP 0014
REFSGPMX 0014 00040000
REFSIZE 0024 00000005
REFSKIP 001C
REFSKPMX 001C 00020000
REFSPAN 0018
REFSPNMX 0018 00040000
REFVERCD 0006 00000001
REFVERSN 0006
Last updated on 3 Aug 1999 at 12:27:49 EDT.
Copyright IBM Corporation, 1990, 1999