|
Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
SZVHB
Control Block Contents
SZVHB DSECT
SZVSB DSECT
SZVMA DSECT
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