|
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure $SFXBK Relocation mapping for HCPSFXBK
00000001 $SFX_VER 1 Mapping version number
0000 0 Signed 2 $SFX_HDRL Header length (in bytes)
0002 2 Signed 2 $SFX_BITL Length of mapped bits (in bytes)
0004 4 Signed 4 * Reserved for future use
00000008 $SFX_HDLN *-$SFXBK Length of header (bytes)
Bit map: Contains the SFXBK flags that are subject to
relocation. These bits are defined sequentially,
regardless of how they are defined in HCPSFXBK.
This yields a consistent mapping that ensures
compatibility when a guest is relocated between
systems at differing service levels.
Names in the comments column indicate the control
block byte which contains the flag. This name is
subject to change if the flag definition changes.
====> NEVER change bits which already exist here.
====> NEVER change the order of bits in this section.
====> ALWAYS add new bits at the end of this section,
together with new flag bytes as required.
0008 8 Signed 2 $SFX_BITS (0) Bit map area There are no flag
bytes in HCPSFXBK. While there
*are* flag bits defined with the
description to VMDSFIP1. The
definition and description in
HCPSFXBK could use some
clarification.
00000000 $SFX_BLEN *-$SFX_BITS Length of bit map
area
Data: Contains all HCPSFXBK data that is subject to
relocation, except for flag bits, which are
handled separately.
All fields are defined as XLnn to avoid alignment
warnings and to pack the data efficiently.
====> NEVER change fields which already exist here.
====> NEVER change the order of fields in this section.
====> ALWAYS add new fields at the end of this section.
together with new flag bytes as required.
0008 8 Bitstring 1 $SFX_DATA (0) Start of data map
0008 8 Bitstring 4 $SFXINEXT -> RDO offset to next $SFXBK
000C 12 Bitstring 4 $SFXICMSK Interrupt codes and mask values
Notes : $SFXLDCEF can only occur for a guest which is a host for
logical devices. However, such guests are not permitted to
migrate, so all references here to xxxLDCEF are for
completeness only (as well as being potentially useful in
the future, should the migration restriction be lifted for
such guests).
0010 16 Bitstring 1 $SFXICALL ID of routine to be called
.... .... $SFXNONE 0 $SFXNONE No interrupt reflector
defined
.... ...1 $SFXLDCEF 1 $SFXLDCEF HCPLDCEF
.... ..1. $SFXPCMXI 2 $SFXPCMXI HCPPCMXI
.... ..11 $SFXSFINT 3 $SFXSFINT HCPSFINT
.... .1.. $SFXVEXCL 4 $SFXVEXCL HCPVEXCL
.... .1.1 $SFXVIPIL 5 $SFXVIPIL HCPVIPIL
.... .11. $SFXVIPIX 6 $SFXVIPIX HCPVIPIX The contents
of $SFXIPARM are determined by
the value of $SFXICALL:
+-----------+********************
**********------+ | $SFXICALL |
Contents of $SFXIPARM |
+-----------+********************
**********------+ | $SFXNONE | 0
| | $SFXLDCEF | SFXIPARM | |
$SFXPCMXI | SFXIPARM | |
$SFXSFINT | RDO offset to
self-defining parms | | $SFXVEXCL
| RDO offset to a $GSDBK | |
$SFXVIPIL | RDO offset to a
$PPFBK | | $SFXVIPIX | RDO offset
to a $PPFBK |
+-----------+********************
**********------+
0011 17 Bitstring 4 $SFXIPARM 0, SFXIPARM, or RDO offset
00000015 $SFX_LEN *-$SFXBK Total length, in bytes
00000003 $SFX_SZ ($SFX_LEN+7)/8 Size in
doublewords
| |