Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
SVGBK
Control Block Contents
SVGBK DSECT
Cross Reference (Contains links to field and bit definitions)
SVGBK Prolog
NAME : HCPSVGBK DESCRIPTION: Linkage savearea, longreg format DSECT : SVGBK FUNCTION : The SVGBK is used in the call-with-dynamic-savearea calling linkage to a "long-register", or "longreg", routine (one which uses 64-bit registers when the machine provides them). The caller does not supply the savearea. Instead, the linkage assistance routines (HCPSVC/SVD) allocate the SVGBK and the called routine then saves the caller's registers in the SVGBK. Shortreg routines (those which always treat registers as 32 bits) use an SAVBK instead of an SVGBK. The SVGBK dsect is also used as a map of the several fixed saveareas such as PFXBALSV and PFXTMPSV, when they are used by longreg and routines. Finally, the SVGBK can be used as a longreg alternative to a CPEBK. (There is no "CPGBK".) HCPSTK will accept an SVGBK to be stacked for later dispatching by HCPDSB. LOCATED BY : R13 when running in any "long-register" routine which is called using a call-with-dynamic-savearea linkage. Points to current (already filled up) savearea. SVGR13 This field in callee's savearea points back to the callers savearea. (This assumes that the caller is a longreg routine and has a savearea of its own, and that he had its address in R13 at the time of the call. See also SVGCSAV for another backward pointer.) SAVEFPNT forward chaining pointer. The chain of /SVGFPNT available SVGBK's uses this pointer. When the SVGBK is in use as a savearea, SAVEFPNT is normally not used for anything. (SAVER13 points back to the preceding SVGBK/SAVBK if the caller had one.) SAVEBPNT This pointer is available for backward /SVGBPNT chaining, but is not normally used. VMDQURCP Urgent CPEBK/SVGBK stack VMDQCPEF Normal CPEBK/SVGBK stack CREATED BY : HCPSVC when no free SVGBKs are available HCPSAM during processor online storage allocation DELETED BY : HCPSVC during SVGBK reclaim processing HCPSAM during processor offline storage deallocation REFERENCES : The front of the SVGBK is a header, the SVHBK, which is common among the CPEBK, SAVBK, and SVGBK. Chains threaded through SVGFPNT/-BPNT may contain a mix of SVGBKs and CPEBKs or SAVBKs. SERIALIZED : Dispatch lock for all fields except SVGCPRQ, except for SVGCPRQ, which is serialized by TRQBK and by the MP-defer function. COMPATIBILITY AND MIGRATION CONCERNS : RELOCATION CONSIDERATIONS : None COMMENTS : SVGFPNT and SVGBPNT are used to maintain various SAVBK/CPEBK/SVGBK queues and stacks. Routines may use these fields if the SVGBK is not currently on a queue or stack. An example is the SVGBK used on a dynamic call. If a routine calls another routine to stack an SVGBK onto a queue, the calling routine should be aware that the SVGFPNT and SVGBPNT fields may have been changed as a result of the call. The calling routines should refrain from using these fields.
SVGBK Control Block Content
SVGBK DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure SVGBK Linkage savearea, longreg format 0000 0 Bitstring 1 SVGHEAD (0) Savearea header The header of the savearea includes queue pointers, status flags, and a type code. This header must be laid out the same in all savearea formats, since a single queue or savearea chain may contain a mix of both blocks. Eventually, all header fields are to be SVHxxxx. 0000 0 Address 4 SVGFPNT General forward pointer 0004 4 Address 4 SVGBPNT General backward pointer (backward pointer not used for single-thread lists) 0008 8 Address 4 SVGSFQP Savearea frame queue pointer 000C 12 Address 4 SVGCPRQ Cross processor return queue addr 0010 16 Bitstring 1 SVGSCHC Savearea dispatching controls 1... .... SVGNOFR X'80' SVGNOFR Do not fret savearea on dispatch .1.. .... SVGSKCR X'40' SVGSKCR This is a stacked return ..1. .... SVGSKCL X'20' SVGSKCL This is a stacked call ...1 .... SVGRTNF X'10' SVGRTNF "Return" with no fret .... 1... SVGUCFM X'08' SVGUCFM Stack as console function work .... .1.. SVGURGT X'04' SVGURGT Stack as urgent work .... ...1 SVGDMCO X'01' SVGDMCO Dispatch on the master CPU only 0011 17 Bitstring 1 SVGCALC Block usage status 1... .... SVHOPEN X'80' SVHOPEN *!* .1.. .... SVGGET X'40' SVGGET Savearea obtained via GET ..1. .... SVGCSAV X'20' SVGCSAV FPNT is ptr to C savearea chain .... .1.. SVHSVA X'04' SVHSVA *!* .... ..1. SVHIS2W X'02' SVHIS2W *!* .... ...1 SVHHF2W X'01' SVHHF2W *!* 0012 18 Bitstring 1 SVGIAC Address mode when we HCPCALL 0013 19 Bitstring 1 SVGFORM Savearea format/content 1... .... SVGSTAM X'80' SVGSTAM For STATIC entry pt, TmodeSTD or TmodeINT: ARs saved by HCPENTER, and should be restored by HCPEXIT. Also, set by HCPSTK and others, tested by HCPDSB, indicating ARs should be restored at CPEBK unstack time. .1.. .... SVGCREG X'40' SVGCREG Savearea has contiguous 64-bit register fields (SVGBK) ..1. .... SVGRG64 X'20' SVGRG64 Savearea accommodates 64 bits per register (SVGBK, or SAVBK with SAVEHIRG extension) .11. .... SVGREGF SVGCREG+SVGRG64 SVGREGF Mask for register-layout bits above; has value: 00 for SAVBK 01 for SAVBK with SAVEHIRG 11 for SVGBK 0014 20 Address 4 SVGRETN Return linkage routine address 0018 24 Bitstring 1 SVGBODY (0) Savearea body 0018 24 Dbl-Word 8 * Reserved for IBM use 0020 32 Bitstring 224 SVGAREA (0) Register and working storage Register contents: Note the terminology below assumes 64-bit registers, with a high-order word (bytes 0-3, bits 0-31) and a low-order word (bytes 4-7, bits 32-63). Registers 0-15 are contiguous in the block. Names are of the form SVGRn for the 64-bit register, SVGRnHI for the high-order 32 bits, and SVGRnLO for the low-order 32 bits. Register contents are contiguous. 0020 32 Bitstring 128 SVGREGS (0) Caller's registers 0020 32 Dbl-Word 8 SVGR0 (0) Caller's saved register 0 0020 32 Signed 4 SVGR0HI bytes 0-3 0024 36 Signed 4 SVGR0LO (0) bytes 4-7 0024 36 Bitstring 1 SVGR0B4 byte 4 0025 37 Bitstring 1 SVGR0B5 byte 5 0026 38 Bitstring 1 SVGR0B6 byte 6 0027 39 Bitstring 1 SVGR0B7 byte 7 0028 40 Dbl-Word 8 SVGR1 (0) Caller's saved register 1 0028 40 Signed 4 SVGR1HI bytes 0-3 002C 44 Signed 4 SVGR1LO (0) bytes 4-7 002C 44 Bitstring 1 SVGR1B4 byte 4 002D 45 Bitstring 1 SVGR1B5 byte 5 002E 46 Bitstring 1 SVGR1B6 byte 6 002F 47 Bitstring 1 SVGR1B7 byte 7 0030 48 Dbl-Word 8 SVGR2 (0) Caller's saved register 2 0030 48 Signed 4 SVGR2HI bytes 0-3 0034 52 Signed 4 SVGR2LO (0) bytes 4-7 0034 52 Bitstring 1 SVGR2B4 byte 4 0035 53 Bitstring 1 SVGR2B5 byte 5 0036 54 Bitstring 1 SVGR2B6 byte 6 0037 55 Bitstring 1 SVGR2B7 byte 7 0038 56 Dbl-Word 8 SVGR3 (0) Caller's saved register 3 0038 56 Signed 4 SVGR3HI bytes 0-3 003C 60 Signed 4 SVGR3LO bytes 4-7 0040 64 Dbl-Word 8 SVGR4 (0) Caller's saved register 4 0040 64 Signed 4 SVGR4HI bytes 0-3 0044 68 Signed 4 SVGR4LO bytes 4-7 0048 72 Dbl-Word 8 SVGR5 (0) Caller's saved register 5 0048 72 Signed 4 SVGR5HI bytes 0-3 004C 76 Signed 4 SVGR5LO bytes 4-7 0050 80 Dbl-Word 8 SVGR6 (0) Caller's saved register 6 0050 80 Signed 4 SVGR6HI bytes 0-3 0054 84 Signed 4 SVGR6LO bytes 4-7 0058 88 Dbl-Word 8 SVGR7 (0) Caller's saved register 7 0058 88 Signed 4 SVGR7HI bytes 0-3 005C 92 Signed 4 SVGR7LO bytes 4-7 0060 96 Dbl-Word 8 SVGR8 (0) Caller's saved register 8 0060 96 Signed 4 SVGR8HI bytes 0-3 0064 100 Signed 4 SVGR8LO bytes 4-7 0068 104 Dbl-Word 8 SVGR9 (0) Caller's saved register 9 0068 104 Signed 4 SVGR9HI bytes 0-3 006C 108 Signed 4 SVGR9LO bytes 4-7 0070 112 Dbl-Word 8 SVGR10 (0) Caller's saved register 10 0070 112 Signed 4 SVGR10HI bytes 0-3 0074 116 Signed 4 SVGR10LO bytes 4-7 0078 120 Dbl-Word 8 SVGR11 (0) Caller's saved register 11 0078 120 Signed 4 SVGR11HI bytes 0-3 007C 124 Signed 4 SVGR11LO bytes 4-7 0080 128 Bitstring 32 SVGRCF (0) Caller's saved register 12-15 0080 128 Dbl-Word 8 SVGR12 (0) Caller's saved register 12 0080 128 Signed 4 SVGR12HI bytes 0-3 0084 132 Signed 4 SVGR12LO bytes 4-7 0088 136 Dbl-Word 8 SVGR13 (0) Caller's saved register 13 0088 136 Signed 4 SVGR13HI bytes 0-3 008C 140 Signed 4 SVGR13LO bytes 4-7 0090 144 Dbl-Word 8 SVGR14 (0) Caller's saved register 14 0090 144 Signed 4 SVGR14HI bytes 0-3 0094 148 Signed 4 SVGR14LO bytes 4-7 0098 152 Dbl-Word 8 SVGR15 (0) Caller's saved register 15 0098 152 Signed 4 SVGR15HI bytes 0-3 009C 156 Signed 4 SVGR15LO bytes 4-7 00A0 160 Address 4 SVGOPNR A(who set SVHOPEN) 00A4 164 Signed 4 * Reserved for IBM use 00A8 168 Address 4 SVGAARP A(AR sidecar) for PFX saveareas 00AC 172 Bitstring 1 SVGIACA Caller actual IAC 00AD 173 Bitstring 1 SVGAMDE Amode of callee at entry. 00AE 174 Bitstring 1 SVGIACR Caller "should be" IAC 00AF 175 Bitstring 1 SVGIACE Callee "should be" IAC 00B0 176 Bitstring 80 SVGWRK (0) Workarea for callee 00B0 176 Dbl-Word 8 SVGWRK0 (0) 00B0 176 Signed 4 SVGWRK0H 00B4 180 Signed 4 SVGWRK0L 00B8 184 Dbl-Word 8 SVGWRK1 (0) 00B8 184 Signed 4 SVGWRK1H 00BC 188 Signed 4 SVGWRK1L 00C0 192 Dbl-Word 8 SVGWRK2 (0) 00C0 192 Signed 4 SVGWRK2H 00C4 196 Signed 4 SVGWRK2L 00C8 200 Dbl-Word 8 SVGWRK3 (0) 00C8 200 Signed 4 SVGWRK3H 00CC 204 Signed 4 SVGWRK3L 00D0 208 Dbl-Word 8 SVGWRK4 (0) 00D0 208 Signed 4 SVGWRK4H 00D4 212 Signed 4 SVGWRK4L 00D8 216 Dbl-Word 8 SVGWRK5 (0) 00D8 216 Signed 4 SVGWRK5H 00DC 220 Signed 4 SVGWRK5L 00E0 224 Dbl-Word 8 SVGWRK6 (0) 00E0 224 Signed 4 SVGWRK6H 00E4 228 Signed 4 SVGWRK6L 00E8 232 Dbl-Word 8 SVGWRK7 (0) 00E8 232 Signed 4 SVGWRK7H 00EC 236 Signed 4 SVGWRK7L 00F0 240 Dbl-Word 8 SVGWRK8 (0) 00F0 240 Signed 4 SVGWRK8H 00F4 244 Signed 4 SVGWRK8L 00F8 248 Dbl-Word 8 SVGWRK9 (0) 00F8 248 Signed 4 SVGWRK9H 00FC 252 Signed 4 SVGWRK9L 0100 256 Bitstring 64 SVGARS (0) Access Registers 0100 256 Signed 4 SVGAR0 AR0 0104 260 Signed 4 SVGAR1 AR1 0108 264 Signed 4 SVGAR2 AR2 010C 268 Signed 4 SVGAR3 AR3 0110 272 Signed 4 SVGAR4 AR4 0114 276 Signed 4 SVGAR5 AR5 0118 280 Signed 4 SVGAR6 AR6 011C 284 Signed 4 SVGAR7 AR7 0120 288 Signed 4 SVGAR8 AR8 0124 292 Signed 4 SVGAR9 AR9 0128 296 Signed 4 SVGAR10 AR10 012C 300 Signed 4 SVGAR11 AR11 0130 304 Signed 4 SVGAR12 AR12 0134 308 Signed 4 SVGAR13 AR13 0138 312 Signed 4 SVGAR14 AR14 013C 316 Signed 4 SVGAR15 AR15 0140 320 Signed 4 SVG2ARS (16) AR storage for TmINT routines 0180 384 Bitstring 44 SVGTSK (0) Fields copied from TSKBK in 1 MVC 0180 384 Bitstring 1 * - TSKFLAGS 0181 385 Bitstring 1 * (3) - Reserved for IBM use 0184 388 Signed 4 * - TSKCR0SAV 0188 392 Address 4 * - TSKSPIEA 018C 396 Bitstring 4 * - TSKSPIEM 0190 400 Dbl-Word 8 * - Reserved for IBM use 0198 408 Address 4 * - TSKEXPIR 019C 412 Address 4 * - TSKSTERR 01A0 416 Address 4 * - TSKINVAD 01A4 420 Signed 4 * - Reserved for IBM use 01A8 424 Bitstring 1 * - TSKEVENT 01A9 425 Bitstring 1 * (3) - Reserved for IBM use 01AC 428 Bitstring 1 * (84) Reserved for future use 00000200 SVG_END * Byte after end of block 00000040 SVGSIZE (*-SVGBK+7)/8 Size in doublewords
SVGBK Storage Layout
*** SVGBK - Linkage savearea, longreg format * * +---------------------------+---------------------------+ * 0 | SVGFPNT | SVGBPNT | * +---------------------------+---------------------------+ * 8 | SVGSFQP | SVGCPRQ | * +------+------+------+------+---------------------------+ * 10 |:SCHC |:CALC |SVGIAC|:FORM | SVGRETN | * +------+------+------+------+---------------------------+ * 18 |///////////////////////////////////////////////////////| * +---------------------------+------+------+------+------+ * 20 | SVGR0HI |:R0B4 |:R0B5 |:R0B6 |:R0B7 | * +---------------------------+------+------+------+------+ * 28 | SVGR1HI |:R1B4 |:R1B5 |:R1B6 |:R1B7 | * +---------------------------+------+------+------+------+ * 30 | SVGR2HI |:R2B4 |:R2B5 |:R2B6 |:R2B7 | * +---------------------------+------+------+------+------+ * 38 | SVGR3HI | SVGR3LO | * +---------------------------+---------------------------+ * 40 | SVGR4HI | SVGR4LO | * +---------------------------+---------------------------+ * 48 | SVGR5HI | SVGR5LO | * +---------------------------+---------------------------+ * 50 | SVGR6HI | SVGR6LO | * +---------------------------+---------------------------+ * 58 | SVGR7HI | SVGR7LO | * +---------------------------+---------------------------+ * 60 | SVGR8HI | SVGR8LO | * +---------------------------+---------------------------+ * 68 | SVGR9HI | SVGR9LO | * +---------------------------+---------------------------+ * 70 | SVGR10HI | SVGR10LO | * +---------------------------+---------------------------+ * 78 | SVGR11HI | SVGR11LO | * +---------------------------+---------------------------+ * 80 | SVGR12HI | SVGR12LO | * +---------------------------+---------------------------+ * 88 | SVGR13HI | SVGR13LO | * +---------------------------+---------------------------+ * 90 | SVGR14HI | SVGR14LO | * +---------------------------+---------------------------+ * 98 | SVGR15HI | SVGR15LO | * +---------------------------+---------------------------+ * A0 | SVGOPNR |///////////////////////////| * +---------------------------+------+------+------+------+ * A8 | SVGAARP |:IACA |:AMDE |:IACR |:IACE | * +---------------------------+------+------+------+------+ * B0 | SVGWRK0H | SVGWRK0L | * +---------------------------+---------------------------+ * B8 | SVGWRK1H | SVGWRK1L | * +---------------------------+---------------------------+ * C0 | SVGWRK2H | SVGWRK2L | * +---------------------------+---------------------------+ * C8 | SVGWRK3H | SVGWRK3L | * +---------------------------+---------------------------+ * D0 | SVGWRK4H | SVGWRK4L | * +---------------------------+---------------------------+ * D8 | SVGWRK5H | SVGWRK5L | * +---------------------------+---------------------------+ * E0 | SVGWRK6H | SVGWRK6L | * +---------------------------+---------------------------+ * E8 | SVGWRK7H | SVGWRK7L | * +---------------------------+---------------------------+ * F0 | SVGWRK8H | SVGWRK8L | * +---------------------------+---------------------------+ * F8 | SVGWRK9H | SVGWRK9L | * +---------------------------+---------------------------+ * 100 | SVGAR0 | SVGAR1 | * +---------------------------+---------------------------+ * 108 | SVGAR2 | SVGAR3 | * +---------------------------+---------------------------+ * 110 | SVGAR4 | SVGAR5 | * +---------------------------+---------------------------+ * 118 | SVGAR6 | SVGAR7 | * +---------------------------+---------------------------+ * 120 | SVGAR8 | SVGAR9 | * +---------------------------+---------------------------+ * 128 | SVGAR10 | SVGAR11 | * +---------------------------+---------------------------+ * 130 | SVGAR12 | SVGAR13 | * +---------------------------+---------------------------+ * 138 | SVGAR14 | SVGAR15 | * +---------------------------+---------------------------+ * 140 | | * = SVG2ARS = * | | * +------+--------------------+---------------------------+ * 180 |//////|////////////////////|///////////////////////////| * +------+--------------------+---------------------------+ * 188 |///////////////////////////|///////////////////////////| * +---------------------------+---------------------------+ * 190 |///////////////////////////////////////////////////////| * +---------------------------+---------------------------+ * 198 |///////////////////////////|///////////////////////////| * +---------------------------+---------------------------+ * 1A0 |///////////////////////////|///////////////////////////| * +------+--------------------+---------------------------+ * 1A8 |//////|////////////////////|///////////////////////////| * +------+--------------------+///////////////////////////| * 1B0 |///////////////////////////////////////////////////////| * =///////////////////////////////////////////////////////= * |///////////////////////////////////////////////////////| * +-------------------------------------------------------+ * 200 * *** SVGBK - Linkage savearea, longreg format
SVGBK Cross Reference
Symbol Dspl Value -------------- ---- ----- SVG_END 01AC 00000200 SVGAARP 00A8 SVGAMDE 00AD SVGAREA 0020 SVGARS 0100 SVGAR0 0100 SVGAR1 0104 SVGAR10 0128 SVGAR11 012C SVGAR12 0130 SVGAR13 0134 SVGAR14 0138 SVGAR15 013C SVGAR2 0108 SVGAR3 010C SVGAR4 0110 SVGAR5 0114 SVGAR6 0118 SVGAR7 011C SVGAR8 0120 SVGAR9 0124 SVGBODY 0018 SVGBPNT 0004 SVGCALC 0011 SVGCPRQ 000C SVGCREG 0013 40 SVGCSAV 0011 20 SVGDMCO 0010 01 SVGFORM 0013 SVGFPNT 0000 SVGGET 0011 40 SVGHEAD 0000 SVGIAC 0012 SVGIACA 00AC SVGIACE 00AF SVGIACR 00AE SVGNOFR 0010 80 SVGOPNR 00A0 SVGRCF 0080 SVGREGF 0013 60 SVGREGS 0020 SVGRETN 0014 SVGRG64 0013 20 SVGRTNF 0010 10 SVGR0 0020 SVGR0B4 0024 SVGR0B5 0025 SVGR0B6 0026 SVGR0B7 0027 SVGR0HI 0020 SVGR0LO 0024 SVGR1 0028 SVGR1B4 002C SVGR1B5 002D SVGR1B6 002E SVGR1B7 002F SVGR1HI 0028 SVGR1LO 002C SVGR10 0070 SVGR10HI 0070 SVGR10LO 0074 SVGR11 0078 SVGR11HI 0078 SVGR11LO 007C SVGR12 0080 SVGR12HI 0080 SVGR12LO 0084 SVGR13 0088 SVGR13HI 0088 SVGR13LO 008C SVGR14 0090 SVGR14HI 0090 SVGR14LO 0094 SVGR15 0098 SVGR15HI 0098 SVGR15LO 009C SVGR2 0030 SVGR2B4 0034 SVGR2B5 0035 SVGR2B6 0036 SVGR2B7 0037 SVGR2HI 0030 SVGR2LO 0034 SVGR3 0038 SVGR3HI 0038 SVGR3LO 003C SVGR4 0040 SVGR4HI 0040 SVGR4LO 0044 SVGR5 0048 SVGR5HI 0048 SVGR5LO 004C SVGR6 0050 SVGR6HI 0050 SVGR6LO 0054 SVGR7 0058 SVGR7HI 0058 SVGR7LO 005C SVGR8 0060 SVGR8HI 0060 SVGR8LO 0064 SVGR9 0068 SVGR9HI 0068 SVGR9LO 006C SVGSCHC 0010 SVGSFQP 0008 SVGSIZE 01AC 00000040 SVGSKCL 0010 20 SVGSKCR 0010 40 SVGSTAM 0013 80 SVGTSK 0180 SVGUCFM 0010 08 SVGURGT 0010 04 SVGWRK 00B0 SVGWRK0 00B0 SVGWRK0H 00B0 SVGWRK0L 00B4 SVGWRK1 00B8 SVGWRK1H 00B8 SVGWRK1L 00BC SVGWRK2 00C0 SVGWRK2H 00C0 SVGWRK2L 00C4 SVGWRK3 00C8 SVGWRK3H 00C8 SVGWRK3L 00CC SVGWRK4 00D0 SVGWRK4H 00D0 SVGWRK4L 00D4 SVGWRK5 00D8 SVGWRK5H 00D8 SVGWRK5L 00DC SVGWRK6 00E0 SVGWRK6H 00E0 SVGWRK6L 00E4 SVGWRK7 00E8 SVGWRK7H 00E8 SVGWRK7L 00EC SVGWRK8 00F0 SVGWRK8H 00F0 SVGWRK8L 00F4 SVGWRK9 00F8 SVGWRK9H 00F8 SVGWRK9L 00FC SVG2ARS 0140 SVHHF2W 0011 01 SVHIS2W 0011 02 SVHOPEN 0011 80 SVHSVA 0011 04
Copyright IBM Corporation, 1990, 2011