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

SZVHB

Prolog  

Control Block Contents  
   SZVHB DSECT
   SZVSB DSECT
   SZVMA DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


SZVHB Prolog

 NAME       : HCPSZVBK
 DESCRIPTION: Save area header and linkage used for CP C assembler
              prolog/eplilog macros.
              Also added "dummy" dsect for C malloc storage.
 DSECT      : SZVHB
 FUNCTION   : This copy file describes the stack header and savearea
              used by the CP C code and Dignus compiler.
              There is also a dummy dsect for C mallocs. This
              is so that we can put an id on the storage.
 LOCATED BY : R13 points to the header when running C code in the
              SCSI container.
 CREATED BY : C code that specifies #pragma prolkey(VMSIC,"YES") .
              This #pragma is required for the first C module that
              is called by assembler CP modules.
 DELETED BY : This control block is only deleted by the stack epilog
              code in the C module with #pragma epilkey(VMSIC,"YES")
 REFERENCES : N/A
 SERIALIZED : N/A
 NOTES      : Changes will probably require
              a recompile of all C modules using this copy file.
 NOTES      : N/A

 

SZVHB Control Block Content


SZVHB DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      SZVHB          Save area header and linkage used
                                        for CP C assembler
 ----------------------------------------------------------
 Stack header layout for a stack extension area           |
      Note ! Any changes to the stack header which modify the  |
             available size must update HCPDCCPL MACRO contant.|
       offset|                                                 |
       x'00' |x'00DCCDCC'      | flags  |reserved (3 bytes)    |
       x'08' | ptr->previous stack extension                   |
       x'10' | ptr->next stack extension area                  |
       x'18' | address of last byte of this stack extension    |
       x'20' | VMDBK ptr                                       |
       x'28' | Container thread context ptr                    |
       x'30' | next available save area ptr                    |
       x'38' | reserved                                        |
       x'40'-end     function saveareas                        |
      ----------------------------------------------------------
0000    0 Bitstring    1 SZVHEAD (0)    Stack area header
0000    0 Character    4 SZVHEYE        Eyecatcher
0004    4 Bitstring    1 SZVHFLG        Flags
          00000001       SZVHTOP        X'01' First stack area
          00000002       SZVHBIG        X'02' Large stack area(not GETST)
0005    5 Bitstring    3 *              reserved
0008    8 Dbl-Word     8 SZVHPRE        Previous stack area ptr
0010   16 Dbl-Word     8 SZVHNXT        Next stack area ptr
0018   24 Dbl-Word     8 SZVHEND        Address of last byte of stack
                                        area
0020   32 Dbl-Word     8 SZVHVMD        Ptr to VMDBK
0028   40 Dbl-Word     8 SZVHTX         Container thead context pointer
0030   48 Dbl-Word     8 SZVHSNA        Next available save area pointer
0038   56 Dbl-Word     8 *              Reserved
0040   64 Dbl-Word     8 SZVHSV1 (0)    First save area
     SZVHSIZ=4095 If storage obtained by HCPSZU01 is a full page
     SZVHSIZ=4071 If storage obtained is FREMX
          00000FE7       SZVHSIZ        4071 Current stack area end size

SZVSB DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      SZVSB          Save area header and linkage used
                                        for CP C assembler
 ----------------------------------------------------------
 Individual save area layout                              |
  offset|                                                 |
  x'00' | ptr->stack extension (see above)                |
  x'08' | ptr->previous save area                         |
  x'10' | ptr->next save area                             |
  x'18' | registers 14-12                                 |
  x'90' | 3 double words extra                            |
  x'A8' | dynamic storage start                           |
 ----------------------------------------------------------
0000    0 Dbl-Word     8 SZVSHDR        Ptr->stack area header
0008    8 Dbl-Word     8 SZVSPREV       Ptr->previous save area
0010   16 Dbl-Word     8 SZVSNEXT       Ptr->next save area or 0
0018   24 Dbl-Word     8 SZVSREGS (0)   Callers registers
0018   24 Dbl-Word     8 SZVSR14        Callers reg 14
0020   32 Dbl-Word     8 SZVSR15        Callers reg 15
0028   40 Dbl-Word     8 SZVSR0         Callers reg 0
0030   48 Dbl-Word     8 SZVSR1         Callers reg 1
0038   56 Dbl-Word     8 SZVSR2         Callers reg 2
0040   64 Dbl-Word     8 SZVSR3         Callers reg 3
0048   72 Dbl-Word     8 SZVSR4         Callers reg 4
0050   80 Dbl-Word     8 SZVSR5         Callers reg 5
0058   88 Dbl-Word     8 SZVSR6         Callers reg 6
0060   96 Dbl-Word     8 SZVSR7         Callers reg 7
0068  104 Dbl-Word     8 SZVSR8         Callers reg 8
0070  112 Dbl-Word     8 SZVSR9         Callers reg 9
0078  120 Dbl-Word     8 SZVSR10        Callers reg 10
0080  128 Dbl-Word     8 SZVSR11        Callers reg 11
0088  136 Dbl-Word     8 SZVSR12        Callers reg 12
0090  144 Character   24 SZVSXTRA       Open area by compiler
0090  144 Signed       4 SZVSRRET       Move RC to here before trace
0094  148 Signed       4 SZVSRRSN       Move RSN to here before trace
0098  152 Signed       4 SZVSREID       Move EID to here before trace
009C  156 Signed       4 *              reserved
00A0  160 Dbl-Word     8 SZVSFNCH       Function header address
00A8  168 Dbl-Word     8 SZVSDYN (0)    Dynamic storage start
 ----------------------------------------------------------
 This DSECT is just a dummy placeholder so that we can    |
 have storage management put an id in the trailer.        |
 This ID will be used by SZX when it does the malloc and  |
 free's.                                                  |
 ----------------------------------------------------------

SZVMA DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      SZVMA          Save area header and linkage used
                                        for CP C assembler
0000    0 Dbl-Word     8 SZVMALLO

 

SZVHB Storage Layout

          
*** SZVHB - Save area header and linkage used for CP C assembler
*
*     +---------------------------+------+--------------------+
*   0 |         SZVHEYE           |:HFLG |////////////////////|
*     +---------------------------+------+--------------------+
*   8 |                       SZVHPRE                         |
*     +-------------------------------------------------------+
*  10 |                       SZVHNXT                         |
*     +-------------------------------------------------------+
*  18 |                       SZVHEND                         |
*     +-------------------------------------------------------+
*  20 |                       SZVHVMD                         |
*     +-------------------------------------------------------+
*  28 |                        SZVHTX                         |
*     +-------------------------------------------------------+
*  30 |                       SZVHSNA                         |
*     +-------------------------------------------------------+
*  38 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*
*** SZVHB - Save area header and linkage used for CP C assembler
          
*** SZVSB - Save area header and linkage used for CP C assembler
*
*     +-------------------------------------------------------+
*   0 |                       SZVSHDR                         |
*     +-------------------------------------------------------+
*   8 |                       SZVSPREV                        |
*     +-------------------------------------------------------+
*  10 |                       SZVSNEXT                        |
*     +-------------------------------------------------------+
*  18 |                       SZVSR14                         |
*     +-------------------------------------------------------+
*  20 |                       SZVSR15                         |
*     +-------------------------------------------------------+
*  28 |                        SZVSR0                         |
*     +-------------------------------------------------------+
*  30 |                        SZVSR1                         |
*     +-------------------------------------------------------+
*  38 |                        SZVSR2                         |
*     +-------------------------------------------------------+
*  40 |                        SZVSR3                         |
*     +-------------------------------------------------------+
*  48 |                        SZVSR4                         |
*     +-------------------------------------------------------+
*  50 |                        SZVSR5                         |
*     +-------------------------------------------------------+
*  58 |                        SZVSR6                         |
*     +-------------------------------------------------------+
*  60 |                        SZVSR7                         |
*     +-------------------------------------------------------+
*  68 |                        SZVSR8                         |
*     +-------------------------------------------------------+
*  70 |                        SZVSR9                         |
*     +-------------------------------------------------------+
*  78 |                       SZVSR10                         |
*     +-------------------------------------------------------+
*  80 |                       SZVSR11                         |
*     +-------------------------------------------------------+
*  88 |                       SZVSR12                         |
*     +-------------------------------------------------------+
*  90 |                                                       |
*     =                       SZVSXTRA                        =
*     |                                                       |
*     +-------------------------------------------------------+
*  A8
*
*** SZVSB - Save area header and linkage used for CP C assembler
          
*** Overlay for SZVSXTRA in SZVSB
*
*     +---------------------------+---------------------------+
*  90 |         SZVSRRET          |         SZVSRRSN          |
*     +---------------------------+---------------------------+
*  98 |         SZVSREID          |///////////////////////////|
*     +---------------------------+---------------------------+
*  A0 |                       SZVSFNCH                        |
*     +-------------------------------------------------------+
*
*** Overlay for SZVSXTRA in SZVSB
          
*** SZVMA - Save area header and linkage used for CP C assembler
*
*     +-------------------------------------------------------+
*   0 |                       SZVMALLO                        |
*     +-------------------------------------------------------+
*   8
*
*** SZVMA - Save area header and linkage used for CP C assembler

 

SZVHB Cross Reference

Symbol         Dspl Value
-------------- ---- -----
SZVHBIG        0004 00000002
SZVHEAD        0000
SZVHEND        0018
SZVHEYE        0000
SZVHFLG        0004
SZVHNXT        0010
SZVHPRE        0008
SZVHSIZ        0040 00000FE7
SZVHSNA        0030
SZVHSV1        0040
SZVHTOP        0004 00000001
SZVHTX         0028
SZVHVMD        0020
SZVMALLO       0000
SZVSDYN        00A8
SZVSFNCH       00A0
SZVSHDR        0000
SZVSNEXT       0010
SZVSPREV       0008
SZVSREGS       0018
SZVSREID       0098
SZVSRRET       0090
SZVSRRSN       0094
SZVSR0         0028
SZVSR1         0030
SZVSR10        0078
SZVSR11        0080
SZVSR12        0088
SZVSR14        0018
SZVSR15        0020
SZVSR2         0038
SZVSR3         0040
SZVSR4         0048
SZVSR5         0050
SZVSR6         0058
SZVSR7         0060
SZVSR8         0068
SZVSR9         0070
SZVSXTRA       0090

This information is based on z/VM V5R1.0. Last updated on 14 Sep 2004 at 16:11:02 EDT.
Copyright IBM Corporation, 1990, 2004