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