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

#### SSAVE

Prolog

Control Block Contents
SSAVE DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### SSAVE Prolog

     Name       : SVCSAVE
     Description: bilingual SVCSAVE macro
     DSECT      : SSAVE
     Function   : map of the system save area. SSAVE
                  is used by DMSITS to save the value of the SVC
                  old PSW, the caller's registers, and other
                  necessary control information required to
                  process the SVC and return to the caller.
                  Because SVC calls can be nested, several of
                  these save areas can exist at one time. The
                  system save area is dynamically allocated in
                  protected free storage.

#### SSAVE Control Block Content

#### SSAVE DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      SSAVE          bilingual SVCSAVE macro
    0000    0 Bitstring    1 OVIND          OVERRIDE IND: 0,1,2,3
    0001    1 Bitstring    1 TYPFLAG        SVC TYPE FLAG BYTE
              1... ....      TPFERT         X'80' TPFERT ERROR RETURN DESIRED
              .1.. ....      TPFNS          X'40' TPFNS NO SAVE AREA
                                            ALLOCATED
              ..1. ....      TPFR01         X'20' TPFR01 RETURN CALLEE'S
                                            R0-R1 TO CALLER
              ...1 ....      TPFUSR         X'10' TPFUSR 'USER' SVC CALL
              .... 1...      TPFACB         X'08' TPFACB OS VSAM SVC REQUEST
              .... ..1.      TPFSV3         X'02' TPFSV3 SVC 203
              .... ...1      TPFSVO         X'01' TPFSVO OS SIMULATION SVC
    0002    2 Signed       2 CODE           SVC 203 CODE VALUE
    0004    4 Address      4 CALLER         ADDRESS OF SVC CALLER
    0008    8 Character    8 CALLEE         NAME OF ROUTINE BEING CALLED
    0010   16 Dbl-Word     8 OLDPSW         SVC OLDPSW OF CALLER
              ...1 .1..      SSAOPSWA       OLDPSW+4 SSAOPSWA ADDRESS IN SVC
                                            OLD PSW
    0018   24 Address      4 NRMRET         ADDRESS FOR NORMAL RETUR
    001C   28 Address      4 ERRET          ADDRESS FOR ERROR RETURN
    0020   32 Signed       4 EGPRS (0)      GENERAL REGS AT ENTRY TO SVC
    0020   32 Signed       4 EGPR0          R0
    0024   36 Signed       4 EGPR1          R1
    0028   40 Signed       4 EGPR2          R2
    002C   44 Signed       4 EGPR3          R3
    0030   48 Signed       4 EGPR4          R4
    0034   52 Signed       4 EGPR5          R5
    0038   56 Signed       4 EGPR6          R6
    003C   60 Signed       4 EGPR7          R7
    0040   64 Signed       4 EGPR8          R8
    0044   68 Signed       4 EGPR9          R9
    0048   72 Signed       4 EGPR10         R10
    004C   76 Signed       4 EGPR11         R11
    0050   80 Signed       4 EGPR12         R12
    0054   84 Signed       4 EGPR13         R13
    0058   88 Signed       4 EGPR14         R14
    005C   92 Signed       4 EGPR15         R15
    0060   96 Dbl-Word     8 EFPRS (0)      FLOATING POINT REGS AT ENTRY
    0060   96 Dbl-Word     8 EFPR0          FPR0
    0068  104 Dbl-Word     8 EFPR2          FPR2
    0070  112 Dbl-Word     8 EFPR4          FPR4
    0078  120 Dbl-Word     8 EFPR6          FPR6
    0080  128 Character    4 CHKWRD1        CHECK WORD ONE
    0084  132 Address      4 SSAVENXT       ADDRESS OF NEXT SSAVE AREA
    0088  136 Address      4 SSAVEPRV       ADDRESS OF PREVIOUS SSAVE AREA
    008C  140 Address      4 USAVEPTR       ADDRESS OF CORRESPONDING USER
                                            SAVE AREA
    0090  144 Signed       4 OSTEMP         TEMP FOR OS SIMULATION ROUTINES
          'DMSKEY' KEY STACK
              00000007       KEYMAX         7 MAXIMUM NUMBER OF KEYS IN STACK
    0094  148 Bitstring    1 KEYP           NUMBER OF KEYS ON STACK
    0095  149 Bitstring    1 KEYS (7)       KEY STACK
          THE FOLLOWING FIELDS ARE FILLED IN ONLY BY DMSOVS, THE SVCTRACE
          SUBROUTINE.
    009C  156 Signed       4 XGPR0          EXTRA COPY OF EGPR0
    00A0  160 Signed       4 XGPR1          EXTRA COPY OF EGPR1
    00A4  164 Signed       4 XGPR15         EXTRA COPY OF EGPR15
    00A8  168 Signed       4 XCOUNT         EXTRA COPY OF SVCOUNT
    00AC  172 Character    4 CHKWRD2        SECOND CHECK WORD
    00B0  176 Signed       4 SSAPSDPL       CHAIN ANCHOR FOR PSDPL BLOCKS
                                            USED BY PARSER
    00B4  180 Bitstring    1 SSACMDRS       COMMAND RESOLUTION FLAG
              1... ....      SSACSRCH       X'80' SSACSRCH CMD SEARCH
                                            PERFORMED
              .1.. ....      SSATRANS       X'40' SSATRANS CMD NAME
                                            TRANSLATED
              ..1. ....      SSASYNON       X'20' SSASYNON CMD NAME SYNONYMED
              ...1 ....      SSAMDMAP       X'10' SSAMDMAP CMD map repl ldr
                                            tbl
    00B5  181 Bitstring    1 SSASIMFL       CMS simulation flag
              1... ....      SSASIMCB       X'80' SSASIMCB MVS/OS blocks
                                            defined
              .1.. ....      SSASIMPG       X'40' SSASIMPG MVS/OS simulation
                                            prog.
              ..1. ....      SSASIMRT       X'20' SSASIMRT MVS/OS blocks
                                            returned.
              ...1 ....      SSASIMX        X'10' SSASIMX MVS/OS XCTL in
                                            progress
              .... 1...      SSASPROC       X'08' SSASPROC process created
              .... .1..      SSASEXEC       X'04' SSASEXEC exec svc level
              .... ...1      SSACELSV       X'01' SSACELSV A call was made to
                                            the DMSANCSV service at this SVC
                                            level
    00B6  182 Bitstring    2 *              RESERVED
    00B8  184 Signed       4 SSAPRSUB       Private Subpool anchor
    00BC  188 Signed       4 SSASHSUB       Shared Subpool anchor
    00C0  192 Address      4 SSAPLC         PLIST COPY BLOCK
    00C4  196 Signed       4 SSAC6SA        Save Control Reg. 6
    00C8  200 Bitstring    1 SSAOCODE       INTERRUPT CODE
    00C9  201 Bitstring    3 *              RESERVED
    00CC  204 Address      4 SSAPRGBK       Ptr to cmd set PRGBK
    00D0  208 Signed       4 SSAC14SA       Save Control Reg. 14
    00D4  212 Signed       4 EARS (0)       Access Registers atentry
    00D4  212 Signed       4 EAR0           Access Register 0
    00D8  216 Signed       4 EAR1           Access Register 1
    00DC  220 Signed       4 EAR2           Access Register 2
    00E0  224 Signed       4 EAR3           Access Register 3
    00E4  228 Signed       4 EAR4           Access Register 4
    00E8  232 Signed       4 EAR5           Access Register 5
    00EC  236 Signed       4 EAR6           Access Register 6
    00F0  240 Signed       4 EAR7           Access Register 7
    00F4  244 Signed       4 EAR8           Access Register 8
    00F8  248 Signed       4 EAR9           Access Register 9
    00FC  252 Signed       4 EAR10          Access Register 10
    0100  256 Signed       4 EAR11          Access Register 11
    0104  260 Signed       4 EAR12          Access Register 12
    0108  264 Signed       4 EAR13          Access Register 13
    010C  268 Signed       4 EAR14          Access Register 14
    0110  272 Signed       4 EAR15          Access Register 15
    0114  276 Address      4 SSCELANC       CEL Anchor
    0118  280 Address      4 SSTEMPAV       CEL Anchor Vector saved
    011C  284 Character    8 SSACMDN        COMMAND NAME
    0124  292 Character    8 SSAPARM1       COMMAND PARMETER
              00000026       SSAVESZ        (*-SSAVE+7)/8 SIZE OF SYSTEM SAVE
                                            AREA FORMAT OF THE REGISTER SAVE
                                            AREA IN USERSAVE. THIS IS THE
                                            PART OF USERSAVE THAT THE USER
                                            CAN USE FOR REGISTERS. THE
                                            USERSAVE MACRO DESCRIBES THE
                                            WHOLE AREA PASSED TO THE USER.

#### SSAVE Storage Layout

    *** SSAVE - bilingual SVCSAVE macro
    *
    *     +------+------+-------------+---------------------------+
    *   0 |OVIND |:FLAG |    CODE     |          CALLER           |
    *     +------+------+-------------+---------------------------+
    *   8 |                        CALLEE                         |
    *     +-------------------------------------------------------+
    *  10 |                        OLDPSW                         |
    *     +---------------------------+---------------------------+
    *  18 |          NRMRET           |          ERRET            |
    *     +---------------------------+---------------------------+
    *  20 |          EGPR0            |          EGPR1            |
    *     +---------------------------+---------------------------+
    *  28 |          EGPR2            |          EGPR3            |
    *     +---------------------------+---------------------------+
    *  30 |          EGPR4            |          EGPR5            |
    *     +---------------------------+---------------------------+
    *  38 |          EGPR6            |          EGPR7            |
    *     +---------------------------+---------------------------+
    *  40 |          EGPR8            |          EGPR9            |
    *     +---------------------------+---------------------------+
    *  48 |          EGPR10           |          EGPR11           |
    *     +---------------------------+---------------------------+
    *  50 |          EGPR12           |          EGPR13           |
    *     +---------------------------+---------------------------+
    *  58 |          EGPR14           |          EGPR15           |
    *     +---------------------------+---------------------------+
    *  60 |                        EFPR0                          |
    *     +-------------------------------------------------------+
    *  68 |                        EFPR2                          |
    *     +-------------------------------------------------------+
    *  70 |                        EFPR4                          |
    *     +-------------------------------------------------------+
    *  78 |                        EFPR6                          |
    *     +---------------------------+---------------------------+
    *  80 |         CHKWRD1           |         SSAVENXT          |
    *     +---------------------------+---------------------------+
    *  88 |         SSAVEPRV          |         USAVEPTR          |
    *     +---------------------------+------+--------------------+
    *  90 |          OSTEMP           |KEYP  |      (095)-        |
    *     +---------------------------+------+--------------------+
    *  98 |          -KEYS            |          XGPR0            |
    *     +---------------------------+---------------------------+
    *  A0 |          XGPR1            |          XGPR15           |
    *     +---------------------------+---------------------------+
    *  A8 |          XCOUNT           |         CHKWRD2           |
    *     +---------------------------+------+------+-------------+
    *  B0 |         SSAPSDPL          |:CMDRS|:SIMFL|/////////////|
    *     +---------------------------+------+------+-------------+
    *  B8 |         SSAPRSUB          |         SSASHSUB          |
    *     +---------------------------+---------------------------+
    *  C0 |          SSAPLC           |         SSAC6SA           |
    *     +------+--------------------+---------------------------+
    *  C8 |:OCODE|////////////////////|         SSAPRGBK          |
    *     +------+--------------------+---------------------------+
    *  D0 |         SSAC14SA          |           EAR0            |
    *     +---------------------------+---------------------------+
    *  D8 |           EAR1            |           EAR2            |
    *     +---------------------------+---------------------------+
    *  E0 |           EAR3            |           EAR4            |
    *     +---------------------------+---------------------------+
    *  E8 |           EAR5            |           EAR6            |
    *     +---------------------------+---------------------------+
    *  F0 |           EAR7            |           EAR8            |
    *     +---------------------------+---------------------------+
    *  F8 |           EAR9            |          EAR10            |
    *     +---------------------------+---------------------------+
    * 100 |          EAR11            |          EAR12            |
    *     +---------------------------+---------------------------+
    * 108 |          EAR13            |          EAR14            |
    *     +---------------------------+---------------------------+
    * 110 |          EAR15            |         SSCELANC          |
    *     +---------------------------+---------------------------+
    * 118 |         SSTEMPAV          |         SSACMDN-          |
    *     +---------------------------+---------------------------+
    * 120 |          -(11C)           |        SSAPARM1-          |
    *     +---------------------------+---------------------------+
    * 128 |          -(124)           | 12C
    *     +---------------------------+
    *
    *** SSAVE - bilingual SVCSAVE macro

#### SSAVE Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    CALLEE         0008
    CALLER         0004
    CHKWRD1        0080
    CHKWRD2        00AC
    CODE           0002
    EARS           00D4
    EAR0           00D4
    EAR1           00D8
    EAR10          00FC
    EAR11          0100
    EAR12          0104
    EAR13          0108
    EAR14          010C
    EAR15          0110
    EAR2           00DC
    EAR3           00E0
    EAR4           00E4
    EAR5           00E8
    EAR6           00EC
    EAR7           00F0
    EAR8           00F4
    EAR9           00F8
    EFPRS          0060
    EFPR0          0060
    EFPR2          0068
    EFPR4          0070
    EFPR6          0078
    EGPRS          0020
    EGPR0          0020
    EGPR1          0024
    EGPR10         0048
    EGPR11         004C
    EGPR12         0050
    EGPR13         0054
    EGPR14         0058
    EGPR15         005C
    EGPR2          0028
    EGPR3          002C
    EGPR4          0030
    EGPR5          0034
    EGPR6          0038
    EGPR7          003C
    EGPR8          0040
    EGPR9          0044
    ERRET          001C
    KEYMAX         0090 00000007
    KEYP           0094
    KEYS           0095
    NRMRET         0018
    OLDPSW         0010
    OSTEMP         0090
    OVIND          0000
    SSACELSV       00B5 01
    SSACMDN        011C
    SSACMDRS       00B4
    SSACSRCH       00B4 80
    SSAC14SA       00D0
    SSAC6SA        00C4
    SSAMDMAP       00B4 10
    SSAOCODE       00C8
    SSAOPSWA       0010 14
    SSAPARM1       0124
    SSAPLC         00C0
    SSAPRGBK       00CC
    SSAPRSUB       00B8
    SSAPSDPL       00B0
    SSASEXEC       00B5 04
    SSASHSUB       00BC
    SSASIMCB       00B5 80
    SSASIMFL       00B5
    SSASIMPG       00B5 40
    SSASIMRT       00B5 20
    SSASIMX        00B5 10
    SSASPROC       00B5 08
    SSASYNON       00B4 20
    SSATRANS       00B4 40
    SSAVENXT       0084
    SSAVEPRV       0088
    SSAVESZ        0124 00000026
    SSCELANC       0114
    SSTEMPAV       0118
    TPFACB         0001 08
    TPFERT         0001 80
    TPFNS          0001 40
    TPFR01         0001 20
    TPFSVO         0001 01
    TPFSV3         0001 02
    TPFUSR         0001 10
    TYPFLAG        0001
    USAVEPTR       008C
    XCOUNT         00A8
    XGPR0          009C
    XGPR1          00A0
    XGPR15         00A4

This information is based on z/VM V6R1.0.
Last updated on 23 Oct 2009 at 11:03:32 EDT.
Copyright IBM Corporation, 1990, 2008