| SVGBK | Back to Index page |
|
Prolog Control Block Contents SVGBK DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
|
| SVGBK Prolog | Top of page |
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 | Top of page |
|
| SVGBK Storage Layout | Top of page |
*** 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 | Top of page |
Copyright IBM Corporation, 1990, 2022