SCABK Back to Index page
 
Prolog 
Control Block Contents 
   SCABK DSECT
Storage Layout 
Cross Reference (Contains links to field and bit definitions)
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.


  SCABK Prolog Top of page
 
 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 HCPIILAI and HCPIILRI 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 Top of page
 

 SCABK DSECT Top of page
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 HCPIILAI 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 Top of page
 
          
*** 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 Top of page
 
 
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
 
This information is based on z/VM 7.3.0 Last updated on 22 Jun 2022 at 15:54:41 EDT.
Copyright IBM Corporation, 1990, 2022