|
Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
SCABK
Control Block Contents
SCABK DSECT
Cross Reference (Contains links to field and bit definitions)
SCABK Prolog
NAME : HCPSCABK
DESCRIPTION: System Control Area for Interpretive
Execution
DSECT : SCABK
FUNCTION : Map SCA for SIE virtual MP support
LOCATED BY : SIEISCAA in all VMDBKs of the virtual configuration
points to label SCASTART in this block.
*** NOTES : SIEISCAA does NOT point to
the front of the block.
CREATED BY : HCPBIESC
DELETED BY : HCPBIESC, HCPBIESR
SERIALIZED :
The existence of the SCABK, and the contents of
its pointer, SIEISCAA, are serialized by console
function mode. SCAIPLOK is a formal lock
managed by HCPLCKAI and HCPLCKRI entry points.
SCAMCN is updated under Console-Function Mode.
SCAXCALL is updated either in Console-Function
Mode, or by compare-and-swap exclusive from CFM.
RELOCATION CONSIDERATIONS : This control block is relocated as part of a live
guest relocation (LGR). The bits and fields that
need to be relocated are defined in the
corresponding LGRSCABK COPY file. Whenever changes
are made to this control block, consideration must
be given to any effects these changes will have on
a relocation. If any new fields or bits are
defined, they may need to be relocated. If
existing bits or fields are changed, corresponding
modifications may be required in the LGR version of
this control block. Consider also the effects of
these changes on a relocation involving a back-level
release of CP.
COMMENTS :
The SCABK maps the architected System Control
Area for SIE, used in support of virtual
multiprocessing. In addition to the architected
block, the SCABK contains a header for CP use.
The size of the block is variable, depending on
the maximum CPU address defined in the virtual
configuration. Because architecture requires a
quadword boundary for the SCA, an extra
doubleword is allocated, and the SCABK is
installed beginning either 0 or 8 bytes into
the free-storage area, as needed to satisfy the
boundary requirement. To simplify storage
allocation, the actual start of the block is saved
in the CP prefix portion of the SCABK.
The SCABK is located by pointer SIEISCAA in all
VMDBKs of the virtual configuration. SIEISCAA
points to the architected SCA, at label SCASTART,
NOT to the CP header at the front of the SCABK,
nor to the start of the free-storage block.
SCABK Control Block Content
SCABK DSECT
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure SCABK System Control Area for Interpretive
Header for CP software use
Notes : This area must be an integral number of
doublewords.
0000 0 Address 4 SCAFSADR Start address of containing free
storage block
0004 4 Signed 2 SCAMXCPU Maximum virtual CPU address in
configuration
0006 6 Signed 2 * Reserved for future IBM use
0008 8 Signed 4 * (2) Reserved for future IBM use
Architected System Control Area
0010 16 Bitstring 16 SCASTART (0) *** True SCA begins here ***
0010 16 Bitstring 1 SCAIPLK0 (0) Redefinition of IPTE Interlock
(below):
1... .... SCAIPLKH X'80' SCAIPLKH IPTE interlock is
held
0010 16 Dbl-Word 8 SCAIPLOK IPTE interlock (format defined in
HCPLCKAI entry point comments)
0018 24 Dbl-Word 8 * (3) Reserved for future IBM use
0030 48 Dbl-Word 8 * (2) Reserved for future IBM use
0040 64 Dbl-Word 8 SCAMCN Mask of valid virtual CPU addrs
for SIGP interpretation (may be a
subset of defined virtual CPUs)
0048 72 Dbl-Word 8 * Reserved for future IBM use
0000000B SCAFSIZE (*-SCABK+15)/8 Fixed size for
free-storage allocation (includes
CP header, architected header,
and an extra doubleword to allow
quadword alignment)
0050 80 Bitstring 32 SCACPU (0) CPU descriptor (one slot per
virtual CPU addr):
0050 80 Signed 4 SCAXCWRD (0) Word for Compare-and-Swap
0050 80 Bitstring 1 * Reserved for future IBM use
0051 81 Bitstring 1 SCAXCALL External-call state:
1... .... SCAXCPND X'80' SCAXCPND external call
pending
..11 1111 SCAXCCPU X'3F' SCAXCCPU mask to isolate
sending CPU addr
0052 82 Bitstring 1 * (2) Reserved for future IBM use
0054 84 Signed 4 * Reserved for future IBM use
0058 88 Dbl-Word 8 SCAGSDES (0) Host real addr of state
description, or zero if virtual
CPU not defined
0058 88 Address 4 SCALSDES Leftmost half of address
005C 92 Address 4 SCASDESC Rightmost half of address
0060 96 Signed 4 * (2) Reserved for future IBM use
0068 104 Signed 4 * Reserved for future IBM use
006C 108 Address 4 SCAVMDBK Host logical addr of VMDBK
00000005 SCACPUSB 5 Shift-count to convert CPU addr
to offset into SCACPU array
(SCACLEN = 2**SCACPUSB)
* Common code again
00000020 SCACLEN *-SCACPU Length of one SCACPU
entry
00000004 SCACSIZE (SCACLEN+7)/8 Size in doublewords
00000002 SCACPUSD SCACPUSB-3 Shift count to convert
CPU addr to number of doublewords
(SCACSIZE = 2**SCACPUSD)
SCABK Storage Layout
*** SCABK - System Control Area for Interpretive
*
* +---------------------------+-------------+-------------+
* 0 | SCAFSADR | SCAMXCPU |/////////////|
* +---------------------------+-------------+-------------+
* 8 |///////////////////////////////////////////////////////|
* +-------------------------------------------------------+
* 10 | SCAIPLOK |
* +-------------------------------------------------------+
* 18 |///////////////////////////////////////////////////////|
* =///////////////////////////////////////////////////////=
* |///////////////////////////////////////////////////////|
* +-------------------------------------------------------+
* 30 |///////////////////////////////////////////////////////|
* |///////////////////////////////////////////////////////|
* +-------------------------------------------------------+
* 40 | SCAMCN |
* +-------------------------------------------------------+
* 48 |///////////////////////////////////////////////////////|
* +------+------+-------------+---------------------------+
* 50 |//////|:XCALL|/////////////|///////////////////////////|
* +------+------+-------------+---------------------------+
* 58 | SCALSDES | SCASDESC |
* +---------------------------+---------------------------+
* 60 |///////////////////////////////////////////////////////|
* +---------------------------+---------------------------+
* 68 |///////////////////////////| SCAVMDBK |
* +---------------------------+---------------------------+
* 70
*
*** SCABK - System Control Area for Interpretive
SCABK Cross Reference
Symbol Dspl Value -------------- ---- ----- SCACLEN 006C 00000020 SCACPU 0050 SCACPUSB 006C 00000005 SCACPUSD 006C 00000002 SCACSIZE 006C 00000004 SCAFSADR 0000 SCAFSIZE 0048 0000000B SCAGSDES 0058 SCAIPLKH 0010 80 SCAIPLK0 0010 SCAIPLOK 0010 SCALSDES 0058 SCAMCN 0040 SCAMXCPU 0004 SCASDESC 005C SCASTART 0010 SCAVMDBK 006C SCAXCALL 0051 SCAXCCPU 0051 3F SCAXCPND 0051 80 SCAXCWRD 0050
Copyright IBM Corporation, 1990, 2011