Programming Interface Information: This information is NOT intended to be
used as Programming Interfaces of VM/ESA. It is to be used for diagnosis only.

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 Unknown ? 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) 0050 80 Unknown ? 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 00000010 SCAXCSHF 8*(*-SCAXCALL-1) Number of bits to shift SCAXCALL left to install it into SCAXCWRD 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 00000004 SCACPUSB 4 Shift-count to convert CPU addr to offset into SCACPU array (SCACLEN = 2**SCACPUSB) 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

(contains links to field and bit definitions)
Symbol         Dspl Value
-------------- ---- -----

SCACLEN 0058 00000010

SCACPU 0050

SCACPUSB 0058 00000004

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

SCAXCSHF 0052 00000010

SCAXCWRD 0050


This information is based on VM/ESA 2.4.0.
Last updated on 3 Aug 1999 at 12:29:09 EDT.
Copyright IBM Corporation, 1990, 1999