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 : VMDISCAA  in all VMDBKs of the virtual configuration
              points to label SCASTART in this block.
              *** NOTES      :  VMDISCAA 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, VMDISCAA, are serialized by console
              function mode.  SCAIPLOK is a formal lock.
              SCAMCN is updated under Console-Function Mode.
              SCAXCALL is updated either in Console-Function
              Mode, or by compare-and-swap exclusive from CFM.
 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 VMDISCAA in all
              VMDBKs of the virtual configuration.  VMDISCAA
              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    8 SCASTART (0)   *** True SCA begins here ***
0010   16 Bitstring    1 SCAIPLK0 (0)   Redefinition of IPTE Interlock
                                        (below):
          1... ....      SCAIPLKH       X'80' IPTE interlock is held
0010   16 Dbl-Word     8 SCAIPLOK (3)   IPTE interlock
0028   40 Dbl-Word     8 *              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)
     There are two versions of the SIGP entry (CPU descriptor). Which entry
     to use is dependent on the mode of the host. Thus the SCACPU portion of
     the SCABK must be different for an ESAME mode host CP than it is for an
     ESA/390 mode host CP and there are two versions of it below. When
     making modifications, be sure to consider both versions.
     This is the ESA/390 host CP version
0050   80 Bitstring    8 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' ..external call pending
          ..11 1111      SCAXCCPU       X'3F' ..mask to isolate sending
                                        CPU addr
0052   82 Bitstring    1 * (2)          Reserved for future IBM use
0054   84 Address      4 SCASDESC       Pointer to state description, or
                                        zero if virtual CPU not defined
0058   88 Signed       4 * (2)          Reserved for future IBM use
          00000010       SCACLEN        *-SCACPU Length of one SCACPU
                                        entry
          00000002       SCACSIZE       (SCACLEN+7)/8 Size in doublewords
          00000001       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                        =
*     |                                                       |
*     +-------------------------------------------------------+
*  28 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  30 |///////////////////////////////////////////////////////|
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  40 |                        SCAMCN                         |
*     +-------------------------------------------------------+
*  48 |///////////////////////////////////////////////////////|
*     +------+------+-------------+---------------------------+
*  50 |//////|:XCALL|/////////////|         SCASDESC          |
*     +------+------+-------------+---------------------------+
*  58 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  60
*
*** SCABK - System Control Area for Interpretive

 

SCABK Cross Reference

Symbol         Dspl Value
-------------- ---- -----
SCACLEN        0058 00000010
SCACPU         0050
SCACPUSD       0058 00000001
SCACSIZE       0058 00000002
SCAFSADR       0000
SCAFSIZE       0048 0000000B
SCAIPLKH       0010 80
SCAIPLK0       0010
SCAIPLOK       0010
SCAMCN         0040
SCAMXCPU       0004
SCASDESC       0054
SCASTART       0010
SCAXCALL       0051
SCAXCCPU       0051 3F
SCAXCPND       0051 80
SCAXCWRD       0050

This information is based on z/VM V4R1.0.
Last updated on 5 Jun 2001 at 16:27:25 EDT.
Copyright IBM Corporation, 1990, 2001