Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.

SCABK

Prolog  

Control Block Contents  
   SCABK DSECT

Storage Layout  

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

This information is based on z/VM V6R2.0. Last updated on 21 Nov 2011 at 11:19:21 EDT.
Copyright IBM Corporation, 1990, 2011