Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
SXSTE
Control Block Contents
SXSTE DSECT
Cross Reference (Contains links to field and bit definitions)
SXSTE Prolog
NAME : HCPSXSTE DESCRIPTION: SXS Page Management Table Entry DSECT : SXSTE FUNCTION : A SXS Table Entry describes one 4K page of storage in the System Execution Space (SXS) address space. LOCATED BY : 64-bit Host Logical (SXS) addresses: PFXSTBLG + ((SXS Page ADDRESS / 4K) * SXSLENTH) SXSFPNTG Field of HCPSXSTE for chained pages SXSBPNTG Field of HCPSXSTE for chained pages SXSFRNXTG Free storage SXSTE forward pointer SUBANCHG SUBBK SXSTE list anchor FRMSXSTE Field of HCPFRMTE for pages mapped in SXS FRMSXPN Indirectly since FRMSXPN is the page number, not the SXSTE address. CREATED BY : HCPSXU DELETED BY : None NOTES : SXSTEs are contained in the SXS page management table. Space for the SXS page management table is allocated at system initialization and never released. The SXS page management table is contiguous in the SXS, but NOT in real storage. Algorithms that convert between SXSTE address and SXS storage address must use the SXS addresses for the SXSTE and the storage address. There is no relationship between the real addresses. The SXS Page Management Table (SXSTB) describes the usage of pages in the SXS for the range from zero to SYSSXSSZ-1. This area is referred to as the System Execution Area. The SXSTB and FRMTB both reside within the SXS address space but are in separate ranges of storage above 2G. They are permanently allocated at initialization and the usage of the individual pages in those ranges does not change. Therefore the SXSTB and FRMTB pages are not described by the SXSTB. SXSTE STATES AND STATE TRANSITIONS: The SXSTE is used to describe the state of a single page in the System Execution Space (SXS). Each SXS page may be either available or in use. In addition, each page may be backed or unbacked. Unbacked pages are never in use. Backed pages may be either in use or available. In use and available pages can be distinguished by whether SXSAVAIL is on. SXSBACKD identifies which pages are backed pages. Backed pages are associated with frames. The backing frames reside above or below 2G in real storage. This distinction can be determined by inspection of SXSBKB2G which is only meaningful if SXSBACKD is on. AVAILABLE SXS PAGES: Available pages are "owned" by the System Execution Space Page Manager (SXSPM). Available pages are kept on one of three queues depending on their backing characteristics: - available unbacked page queue (RSASXQAN) - available backed>2G page queue (RSASXAAN) - available backed<2G page queue (RSASXBAN) Available SXS pages always have SXSAVAIL on in the SXSTE. When they are on one of the available queues they can be taken only while holding the SXSPM Queue Lock (RSASXQLK). SXSONQUE will be on in any SXSTE that is on one of the available SXS queues. If SXSAVAIL is on but SXSONQUE is not on then the SXSTE is available but is in a transition state and is currently owned by one of the SXSPM tasks which is either in the process of consuming it or preparing it for return to a queue. This is referred to as the "Transitory State" and is needed by the SXSPM to allow task ownership of available pages for SXSPM tasks when the task must release the SXSPM Queue Lock. Transitory SXS pages may be backed or unbacked. In addition, a Transitory SXS page may have been allocated to satisfy a specific deferred request. If so, SXSCPEBK will contain the address of the CPEBK that was stacked to complete the request. Transitory pages are not included in the available page count (RSASXAVL) or any of the in-use counts. The count of Transitory SXSTEs is the difference between the total number of SXSTEs minus the sum of the in use and available SXSTEs. The Transitory state is also used as a stable intermediate state within the SXSPM to reduce the complexity of state conversions. When available SXS pages are taken from a queue they are converted to the Transitory state. Aliases that are removed or stolen, and CP pages that are returned are converted to the Transitory state before any other transition is performed. Creation of aliases and CP pages is only done by using pages in the Transitory state. Pages that are to be placed on the available queues must be in the Transitory state before they are queued. Converting between available, backed and available, unbacked pages is only performed while the page is in the Transitory state. The purpose for these rules is to provide consistent input and output states for the functions responsible for making the SXSTE state transitions. Using information in SXSCSWRD it is possible to determine which of these states an SXS page is in when SXSAVAIL is on: - Transitory = SXSONQUE off, SXSBACKD "any", SXSBKB2G "any" - RSASXQAN = SXSONQUE on, SXSBACKD off - RSASXAAN = SXSONQUE on, SXSBACKD on, SXSBKB2G off - RSASXBAN = SXSONQUE on, SXSBACKD on, SXSBKB2G on This information is used in contiguous page searches to determine whether it can take an available page (SXSONQUE is on), and if so, which queue it needs to be dequeued from. Pointer updates for dequeueing can be done without knowing which queue the SXSTE is on, but update of the counts requires knowledge of which queue it is on. IN-USE SXS PAGES: When SXSAVAIL is off the SXS page is considered in use. The page may actually be in the process of being handed out as a CP page or alias, or being returned. The counts of in-use pages are updated when the pages are converted between in-use pages and the Transitory state. In-use pages are of two primary types: CP Pages and Aliases. An alias is an in-use page that has SXSUSER on in SXSCSB0. A CP page is an in-use page that has SXSUSER off in SXSCSB0 and SXSCP must be on if SXSUSER is off. If SXSCP is on with SXSUSER then it is an Alias for a pageable space page, not a CP page. CP PAGES: CP pages are allocated by HCPSXU during initialization for permanently allocated pages such as the CP nucleus and the alternate processor PFXPGs. HCPSXP allocates CP pages as they are requested using HCPGETST, by Free Storage Manager calls to HCPSXPFS, or by direct calls to specialized HCPSXP entrypoints. See HCPSXP for additional information. CP pages are guaranteed to remain resident at the same location in real storage from the time they are allocated until the time they are returned. They are never stolen. In general, SXSCSB0 contains a value that matches FRMCSB0 since the associated frame must be in use for the same purpose as the page. However, in the case of free storage the FRMTE will have FRMCSB0=FRMFSTG while the SXSTE will have a value in SXSCSB0 that identifies the type of free storage that the page is currently in use as. This allows the Free Storage Manager to convert SXS pages between types of free storage without needing to return and re-obtain them, or modify the FRMTE to indicate the new usage. ALIASES: Alias SXSTEs have no special "Alias indicator". They are identified by SXSUSER being on in SXSCSB0 and SXSAVAIL being off in SXSCSB3. An Alias is an SXS page associated with a resident page of a pageable address space. It is used to allow CP to inspect or modify the contents of the pageable address space page as if it is part of Host Logical storage. Aliases are created by HCPSXA when requested by HCPHTR and HCPHTU, generally when processing an HCPTRANS request. Aliases are generally left in place as long as possible to reduce the need to recreate aliases for future translation requests. Aliases can only be added to resident pageable space pages and the pageable space page is guaranteed to remain resident in the same frame as long as the alias remains in place. Frames cannot be stolen from pageable space pages without first removing the Alias. Aliases are guaranteed to remain in place as long as the page is last translated or locked in host logical, or if it is a protected guest prefix page. No-owned aliases are not allowed to be stolen. Aliases can only be removed under the following conditions: - SXSLKCNT=0 (not locked) - SXSLOCKD is off (not locked) - SXSCPLOK is off (not locked) - SXSLTRCTG=0 (not last translated) - SXSNOOWN is off (not no-owned) unless it is a specific request to remove a no-owned Alias made to HCPSXARN. - SXSPAGZP and SXSPAGZM are off (not a protected guest prefix page) - proper serialization is held which consists of: - FRMTE serialization (FRMSTEAL or FRMRELSE) - SXSTE serialization (SXSSTEAL or SXSRELSE) - PTE serialization (SHORT or ERRSHORT) SERIALIZED : SXSTE serialization differs depending on the current state of the SXSTE. The four state subsets of interest are: - Available SXS page SXSTEs (non-Transitory) - these SXSTEs are owned by the SXSPM and therefore serialized by the SXSPM Queue Lock (RSASXQLK). - Transitory SXSTEs - these SXSTEs have SXSAVAIL on so they are owned by the SXSPM, but they have SXSONQUE off so they are not serialized by the SXSPM Queue Lock. These SXSTEs are in transition between states and are owned by the task that placed them into the Transitory state. No other task is allowed to manipulate these SXSTEs. SXSTEs are in the Transitory state only within the SXSPM during the processing of a specific SXSPM task. The SXSPM Queue Lock is held while the SXSPM converts SXSTEs between the Transitory and any other state. While this isn't always necessary because some transitions can be done as atomic operations, the SXSPM Queue Lock is often needed for other reasons related to the transition such as queueing or dequeueing or count updates. Most RSMBK counts are serialized by the SXSPM Queue Lock to remove the need for an interlocked update for each individual count in the RSMBK. - In-Use CP page SXSTEs - these SXSTEs are serialized by the task that the page was allocated to. Often the SXSTEs are not modified at all by the task. However, in the case of free storage pages the Free Storage Manager maintains information in the SXSTEs and has its own serialization rules for updating the SXSTEs. The redefinitions below give an indication of which fields are updated by the Free Storage Manager. The SXSPM does not modify SXSTEs for CP pages while they are allocated to the task. - Alias SXSTEs - As soon as the SXSTE is marked as an Alias it is subject to Alias SXSTE serialization rules so the Alias is created in a serialized state. Serialization of Aliases uses SXSTE-specific serialization defined in SXSCSB3. The Alias serialization states of SXSTRANS, SXSRELSE and SXSSTEAL are mutually exclusive and provide an indication which type of task holds serialization and clues about the transitions that may occur. Although SXSAVAIL is in the same byte as the serialization bits, it does not provide serialization but rather that the SXSTE is either available or in the Transitory state and different serialization mechanisms apply. The SXSCSB3 serialization bits apply only to Aliases and should never be on when SXSUSER is off or SXSAVAIL is on. - SXSTRANS - a translation type task is manipulating the Alias. Since Aliases are only created as the result of a translation request, they are created with SXSTRANS already on via an atomic transition from the Transitory to the Alias state. - SXSRELSE is used during release processing when Aliases are removed or made No-owned. The No-owned Manager also uses SXSRELSE when reclaiming the No-owned Aliases. - SXSSTEAL is used when an alias is being stolen by the SXSPM or being removed so that a frame can be stolen by the Frame Manager. The creation and destruction of Aliases requires SXSTE, FRMTE, and PTE serialization for the page which the alias is being created or destroyed. See HCPPGSER MACRO prolog for rules for obtaining serialization when PTE serialization is also needed. SXSTRANS is also used by translation and locking services for existing aliases. When Aliases are destroyed they are converted to the Transitory state in an atomic operation with SXSTE serialization on initially, but off afterwards. RELOCATION CONSIDERATIONS : None COMMENTS : The definition of the SXSTE was derived heavily from the FRMTE to minimize impact to functions that manipulated information in the FRMTE but were changed to use host logical storage and SXSTEs instead. These functions are free storage, page translation, release processing, steal, etc. While there are significant similarities, there are subtle but important differences, especially in the area of serialization. Some fields in the SXSTE are in different locations than they were in the FRMTE in previous releases For example, SXSLTRCTG and SXSLKCNT are in the first word of SXSSTATEG. Fields that exist in both the SXSTE and FRMTE are at the same displacements. While SXSTEs are on an available list they retain some of the state information from the prior usage, but may not remain associated with the backing frame. When aliases are removed they must be disassociated from the FRMTE. When CP pages are returned and the available backed page queue is at capacity the backing frame is removed. In both cases the SXSTE is placed on the available unbacked SXS page queue until it is reused. Although the backing frame has been removed, the SXS PTE will be invalid but will still contain the PFRA of the frame that the SXS page was last associated with. The frame may still contain useful data, however there is no guarantee that the frame has not been reused after it was disassociated from the SXS page. Several fields that exist in the SXSTE are for diagnostic or performance reasons: - Diagnostic information: - SXSRET14 contains the callers return address for CP pages that have been returned and the SXSTEs have not been reused. It can be useful in diagnosing cases where a page was expected to still be in use but had already been returned. - SXSOBT11 contains the R11 value (may be VMDBK) at the time of the obtain of a page with SXSCSB0=SXSCP and the CP page is still in use. It can be useful in diagnosing cases where it appears SXS pages are not being returned, or a page contains different contents than expected. - SXSOBT14 contains the callers return address from the time of the obtain of a page with SXSCSB0=SXSCP and the CP page is still in use. It can be useful in diagnosing cases where it appears SXS pages are not being returned, or a page contains different contents than expected. - SXSCPEBK contains the address of a CPEBK that is being re-driven and has been given this SXSTE to use to satisfy the deferred request. This information can be used to determine whether Transitory SXSTEs are lost. - Performance short-cuts - SXSSXPTE contains the address of the SXS PTE for available and Transitory SXS pages. It is used to quickly locate the SXS PTE when validating or invalidating the SXS PTE for the page. It is also to quickly obtain the backing frame address for backed available pages by getting the PFRA from the PTE. - SXSFRMAD is used to pass the address of the backing frame to HCPFRF when allocating a new free storage page to avoid the expense of an LRAG instruction.
SXSTE Control Block Content
SXSTE DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure SXSTE SXS Page Management Table Entry 0000 0 Dbl-Word 8 SXSGORGIN (0) SXS Table Entry Origin 0000 0 Address 8 SXSFPNTG SXSTE forward pointer 0008 8 Address 8 SXSBPNTG SXSTE backward pointer 0010 16 Address 8 SXSPTEG 64-bit ptr to page table entry. PTE address is the same as the VPG64 address for the 4K block of virtual storage. The VPG64 is a more convenient mapping. This is a host real address. 0018 24 Signed 8 SXSSTATEG SXS page status bits and flags. All bits are contained in a double word such that Compare & Swap-CSG can be used to serialize SXS page state changes. 00000020 SXSLENTH *-SXSTE Length of SXS table entry 0020 32 Dbl-Word 8 SXSNEXTG (0) Next sequential entry 0018 24 Bitstring 3 SXSLKCNT SXS page lock count. Only applies to Aliases. Locked Aliases cannot be stolen. 001B 27 Bitstring 1 SXSLTRCTG SXS page last translated count. Count of CPUs which have this SXSTE last translated. If >0, the SXS page cannot be stolen. Supports up to 126 (x'7E') processors due to no-owned bit & HCPLTRDC's assumption x'FF' = -1 Only applies to Aliases. 1... .... SXSLTRNOO X'80' SXS Page no-owned last translated edge trigger. When a page is no-owned, decrement SXSLTRCTG by 1 and this bit is turned on. When SXSLTRCTG goes x'80'->'00', call the HCPNOOUT edge trigger. Only applies to Aliases. The codes that include the x'01' in their definition are a function of the SXSCP bit and are considered to be CP pages unless SXSUSER is also on. In that case they are Aliases for CP owned pageable space pages. The codes that include the X'02' in their definition are a function of the SXSDS bit and are considered to be data space pages. SXSDS bit is only allowed to be used to combine with SXSUSER or SXSSUSER and SXSCP to form SXSDTSP or SXSSUTIL. These are Aliases. All SXS pages used as aliases will have the X'80' bit indicating it is associated with a "pageable FRMTE". All in-use SXS pages that don't have SXSUSER set must have SXSCP set and are considered CP pages. Free storage pages are associated with each other by the X'61' bits. Notes : Any new page code that contains the X'61' bits must be a type of free storage page. There are places in the system that check for the X'61' bits to determine whether or not a page is a free storage page. The code X'FF' is never a valid page usage code in SXSCSB0. SXSNEVER is available to test whether a value is a page usage code or not. For example, whether a parameter passed in SAVER2B3 is a page usage code or not. When a frame is associated with a page in the System Execution Space (SXS), the frame use code in FRMCSB4G will match the page use code in SXSCSB4G of the SXSTE. All codes and bits should be kept in sync between FRMTE and SXSTE. The one exception is the case of free storage pages where FRMCSB0=FRMFSTG but SXSCSB0 has a value that indicates which type of free storage the page currently is. 001C 28 Signed 4 SXSCSWRD (0) Cover for the 4 state bytes ...1 11.. SXSCSB4G SXSCSB0 SXSCSB4G Compare and swap dword byte 4. 001C 28 Bitstring 1 SXSCSB0 Compare and swap word byte 0. CSG not necessarily required to alter these bits. 00000002 SXSDS X'02' SXSDS SXS page in use for a data spaces 0000000D SXSMDCHT X'0D' SXSMDCHT Page used for MDC hash table. 00000031 SXSPRFX X'31' SXSPRFX Prefix page SXS page save area page 00000065 SXSFRVM X'65' SXSFRVM SXS page used for GUESTPERM free storage that is not satisfied out of VMDBK free storage (VMDLSPAC). 00000067 SXSFRSY X'67' SXSFRSY SXS page used for system free 00000069 SXSAFS X'69' SXSAFS SXS page used for host logical aligned free storage. 0000006B SXSVCB X'6B' SXSVCB SXS page used for verifiable control block free storage. "pageable FRMTE"; user page. 00000082 SXSDTSP X'82' SXSDTSP SXS page used for a user's data space page. 00000083 SXSSUTIL X'83' SXSSUTIL SXS page used for CP utility address space page. 000000C3 SXSSVDSK X'C3' SXSSVDSK SXS page used for VDISK System Utility address space page. 0000007D SXSPDISO X'7D' SXSPDISO Isolate SXSUSER and SXSDTSP fields of SXSCSB0. This is done to allow code to test, for either SXSUSER *or* SXSDTSP being on with one instruction. 000000FF SXSNEVER X'FF' SXSNEVER Equate to reserve a value which will never be a valid SXS page usage code. 00000001 SXSCP FRMCP SXSCP Page in use by control program 00000021 SXSTRACE FRMTRACE SXSTRACE CP Trace Table Page 00000061 SXSFREE FRMFSTG SXSFREE Logical free storage page 00000080 SXSUSER FRMUSER SXSUSER SXS Alias for User Page SXS limit(s) 00FFF000 SXSMAXSZ X'7FFFF000' SXSMAXSZ These codes are primarily static page use codes. The exception is for free storage types which can be changed by the Free Storage Manager as the pages are reused for a different type of free storage than previously used. Some codes are defined in HCPEQUAT for use with HCPGETST. The following pages can be stolen by the steal task: SXSUSER - Both private and shared pages (pageable) SXSDTSP - Data space pages (private and shared) SXSSUSER - System user pages SXSSUTIL - System utility pages 0000001D SXSCSB5G SXSCSB1 Compare and swap dword byte 5. 001D 29 Bitstring 1 SXSCSB1 Compare and swap word byte 1. Compare and swap not necessarily required to alter these bits. 1... .... SXSLOCKD X'80' SXSLOCKD SXS page is locked in real storage (SXSLKCNT is greater than zero) Only applies to Aliases. Locked Aliases can not be stolen. .1.. .... SXSCPLOK X'40' SXSCPLOK SXS page locked by CP Lock command Only applies to Aliases. Locked Aliases can not be stolen. .... 1... SXSBKB2G X'08' SXSBKB2G For a backed page indicates whether backing frame is below 2G or not. .... .1.. SXSBACKD X'04' SXSBACKD SXS page has backing frame. This page may be an Alias for a "pageable FRMTE", a CP-use SXS page, or on an available, backed SXS page queue. .... ..1. SXSONQUE X'02' SXSONQUE SXS page is currently on a queue. Which queue the page is on depends on the page's current state. It may be on one of the SXSPM queues or on a queue specific to the SXSTE use code. SXSTEs for Aliases i.e. the SXS page is associated with a "pageable FRMTE"; may or may not be on the Potentially Stealable queue. SXSTEs for Aliases that are locked are initially left on that queue but may be removed by the SXSPM when looking for an available page to satisfy a request. Free storage also uses SXSONQUE to indicate that the page is on either: SXSFRSY - The system free storage SXS pages queue. SXSFRVM - The VMDBK free storage SXS pages queue. ...1 111. SXSCSB6G SXSCSB2 SXSCSB6G Compare and swap dword byte 6. These bits are primarily static SXS page flag bits 001E 30 Bitstring 1 SXSCSB2 Compare and swap word byte 2. Compare and swap not necessarily required to alter these bits. .1.. .... SXSNOOWN X'40' SXSNOOWN SXS page is no-owned. Only applies to Aliases. No-owned Aliases cannot be stolen. .... 1... SXSPAGZP X'08' SXSPAGZP SXS page is an Alias for a guest prefix page that is protected from being stolen even if not locked or last translated. When set, some VMDBK has VMDPAGZP containing the address for the page described by this SXSTE. See HCPPZERO. Only for Aliases. .... .1.. SXSPAGZM X'04' SXSPAGZM Modifier to SXSPAGZP indicating the Alias is a protected prefix page for more than one cpu in the virtual configuration. Must never be set without SXSPAGZP. Only applies to Aliases. SXSCSB7G SXSTE serialization byte. Contains the four mutually exclusive SXSTE serialization bits. See the serialization section of this part prologue for a detailed discussion of SXSTE serialization rules. 0000001F SXSCSB7G SXSCSB3 Compare and swap dword byte 7. 001F 31 Bitstring 1 SXSCSB3 Compare and swap word byte 3. 1... .... SXSAVAIL X'80' SXSAVAIL SXS page is not in use. The page will be on one of the available SXS page queues depending on SXSBACKD and SXSBKB2G settings unless SXSONQUE is off which indicates that the SXSTE is in the Transitory state. When SXSAVAIL is set the SXSTE may contain residual information from the prior usage. .1.. .... SXSTRANS X'40' SXSTRANS SXS page is being translated. ..1. .... SXSRELSE X'20' SXSRELSE SXS page is being released. ...1 .... SXSSTEAL X'10' SXSSTEAL SXS page is being stolen by the SXS page manager or the real frame manager is stealing frame which requires removal of Alias. END OF DEFINITION for SXS page mgt table entries These bits are used to serialize SXS page state changes. SXSTRANS, SXSRELSE and SXSSTEAL are used only for Aliases. SXSAVAIL indicates it is owned by the SXSPM and does not provide any serialization by itself. See the discussion of serialization in the prolog. Redefinition for SXS pages that are not chained. 0000 0 Signed 4 * Reserved for IBM use 0004 4 Signed 4 SXSID 4 character identifier These identifiers are for visual recognition and are not intended to be used as flags. '*CP*' SXS page in use by control program 'TRAC' CP trace table page 'FREE' SXS page in use for free storage 'SAVE' SXS page in use by save area manager 'PRFX' Prefix page 'AFS ' Aligned free storage 'VCB ' Verifiable control block 0008 8 Signed 8 * Reserved for IBM use 0010 16 Address 8 * Reserved for IBM use 0018 24 Signed 8 * SXSSTATEG (flags and status bits) Redefinition for free storage SXS pages A VMDBK is a CP page (SXSCSB0=SXSCP) that is also a free storage page because of the free storage area at the end of the VMDBK. As such the redefinition for generic CP SXS pages applies when the VMDBK is first allocated, but once HCPFRGVI initializes the free storage within the VMDBK the redefinition for free storage SXS pages applies as well. 0000 0 Address 8 SXSFRNXTG Free storage SXSTE forward ptr. Only used for free storage types that are chained by SXSTE; i.e. non-SHORTTERM free storage. 0008 8 Signed 4 * Reserved for IBM use 000C 12 Signed 2 SXSVMFRG Meaning is dependent on what type of free storage page it is: - SXSAFS - contains block size. - SXSVCB - contains the VCB code input on the verifiable free storage request. See HCPEQUAT for a list of VCB codes. - SYSPERM/GUESTPERM - contains the size of the largest unallocated block remaining in this page. - VMDBK free storage - contains the size of space available in the VMDBK for GUESTPERM requests. 000E 14 Signed 2 SXSDWUSE Doublewords of storage in use 0010 16 Address 8 SXSCHNG (0) Generic name for this doubleword 0010 16 Signed 4 * Reserved for IBM use 0014 20 Address 4 SXSCHN 31-bit ptr to 1st free storage available block in this page. This page is located in the system execution space; i.e. it is a host logical address. Only 31-bit addresses from this space are allocated for use as free storage. This field is also used when contiguous pages are allocated and released by HCPSXPNM and HCPSXPRM respectively. When used for this reason, SXSCHNG will contain a number indicating the total number of contiguous pages in a contiguous set (from lowest to highest SXSTE address.) An allocated single page may have a SXSCHNG value of zero (indicating it was allocated via HCPSXPDF) or one (indicating it was allocated via HCPSXPNM). Note SXSCHNG is not used for the temporary queues of pages returned on calls like FRFDX -> HTFRQ. 0018 24 Signed 8 * SXSSTATEG (flags and status bits) SXSCHNG redefinitions used by the Free Storage Manager during garbage collection (HCPFRFDX) of SHORTTERM and fast allocated subpooled free storage (HCPFGST/HCPFRST). 0010 16 Signed 4 * Reserved for IBM use 0014 20 Signed 2 SXSBCT Count of returned blocks 0016 22 Signed 2 SXSLAST Last block queued Redefinition of SXSTEs handed out by HCPSXPFS. This is a temporary redefinition. HCPFRF converts the SXSTE format to the redefinition above. 0010 16 Dbl-Word 8 SXSFRMAD Real address of backing frames. Redefinition for generic CP SXS pages (SXSCSB0=SXSCP) that are handed out by HCPSXP. This redefinition does not apply for nucleus pages even though SXSCSB0=SXSCP. These fields are not set in the first SXSTE of a contiguous set since this area is redefined for FRMCHNG. The R11 and R14 values can be obtained from any other SXSTE in the range. Since it is possible to return a single page via the contiguous page return interface Bit 0 will be on in SXSOBT14 so it is negative and HCPSXPRC knows it isn't a valid SXSCHN value. 0010 16 Signed 4 SXSOBT11 Obtainers' R11 from SVGR11. 0014 20 Signed 4 SXSOBT14 Obtainers' R14 from SVGR14. When Set bit 0 is on to indicate this field does not contain FRMCHN. Redefinition for available SXS pages assigned to CPEBKs for redriven deferred requests. 0008 8 Signed 4 SXSCPEBK CPEBK SXSTE was given to. Redefinition for available SXS pages whether on a queue or while being processed in the SXSPM. 0010 16 Dbl-Word 8 SXSSXPTE SXS PTE for page SXSTE describes. 0018 24 Signed 4 SXSRET14 SVGR14 from return of page. The value is zero if the page has never been used. May be overlaid by internal processes in SXSPM.
SXSTE Storage Layout
*** SXSTE - SXS Page Management Table Entry * * +-------------------------------------------------------+ * 0 | SXSFPNTG | * +-------------------------------------------------------+ * 8 | SXSBPNTG | * +-------------------------------------------------------+ * 10 | SXSPTEG | * +-------------------------------------------------------+ * 18 | SXSSTATEG | * +-------------------------------------------------------+ * *** SXSTE - SXS Page Management Table Entry *** Overlay for SXSSTATEG in SXSTE * * +--------------------+------+------+------+------+------+ * 18 | SXSLKCNT |(01B) |:CSB0 |:CSB1 |:CSB2 |:CSB3 | * +--------------------+------+------+------+------+------+ * 20 * *** Overlay for SXSSTATEG in SXSTE *** Overlay for SXSGORGIN in SXSTE * * +---------------------------+---------------------------+ * 0 |///////////////////////////| SXSID | * +---------------------------+---------------------------+ * 8 |///////////////////////////////////////////////////////| * +-------------------------------------------------------+ * 10 |///////////////////////////////////////////////////////| * +-------------------------------------------------------+ * 18 |///////////////////////////////////////////////////////| * +-------------------------------------------------------+ * 20 * *** Overlay for SXSGORGIN in SXSTE *** Overlay for SXSGORGIN in SXSTE * * +-------------------------------------------------------+ * 0 | SXSFRNXTG | * +---------------------------+-------------+-------------+ * 8 |///////////////////////////| SXSVMFRG | SXSDWUSE | * +---------------------------+-------------+-------------+ * 10 |///////////////////////////| SXSCHN | * +---------------------------+---------------------------+ * 18 |///////////////////////////////////////////////////////| * +-------------------------------------------------------+ * 20 * *** Overlay for SXSGORGIN in SXSTE *** Overlay for SXSCHNG in SXSTE * * +---------------------------+-------------+-------------+ * 10 |///////////////////////////| SXSBCT | SXSLAST | * +---------------------------+-------------+-------------+ * 18 * *** Overlay for SXSCHNG in SXSTE *** Overlay for SXSPTEG in SXSTE * * +-------------------------------------------------------+ * 10 | SXSFRMAD | * +-------------------------------------------------------+ * 18 * *** Overlay for SXSPTEG in SXSTE *** Overlay for SXSPTEG in SXSTE * * +---------------------------+---------------------------+ * 10 | SXSOBT11 | SXSOBT14 | * +---------------------------+---------------------------+ * 18 * *** Overlay for SXSPTEG in SXSTE *** Overlay for SXSBPNTG in SXSTE * * +---------------------------+ * 8 | SXSCPEBK | C * +---------------------------+ * *** Overlay for SXSBPNTG in SXSTE *** Overlay for SXSPTEG in SXSTE * * +-------------------------------------------------------+ * 10 | SXSSXPTE | * +-------------------------------------------------------+ * 18 * *** Overlay for SXSPTEG in SXSTE *** Overlay for SXSSTATEG in SXSTE * * +---------------------------+ * 18 | SXSRET14 | 1C * +---------------------------+ * *** Overlay for SXSSTATEG in SXSTE
SXSTE Cross Reference
Symbol Dspl Value -------------- ---- ----- SXSAFS 001C 00000069 SXSAVAIL 001F 80 SXSBACKD 001D 04 SXSBCT 0014 SXSBKB2G 001D 08 SXSBPNTG 0008 SXSCHN 0014 SXSCHNG 0010 SXSCP 001C 00000001 SXSCPEBK 0008 SXSCPLOK 001D 40 SXSCSB0 001C SXSCSB1 001D SXSCSB2 001E SXSCSB3 001F SXSCSB4G 001C 1C SXSCSB5G 001C 0000001D SXSCSB6G 001D 1E SXSCSB7G 001E 0000001F SXSCSWRD 001C SXSDS 001C 00000002 SXSDTSP 001C 00000082 SXSDWUSE 000E SXSFPNTG 0000 SXSFREE 001C 00000061 SXSFRMAD 0010 SXSFRNXTG 0000 SXSFRSY 001C 00000067 SXSFRVM 001C 00000065 SXSGORGIN 0000 SXSID 0004 SXSLAST 0016 SXSLENTH 0018 00000020 SXSLKCNT 0018 SXSLOCKD 001D 80 SXSLTRCTG 001B SXSLTRNOO 001B 80 SXSMAXSZ 001C 00FFF000 SXSMDCHT 001C 0000000D SXSNEVER 001C 000000FF SXSNEXTG 0020 SXSNOOWN 001E 40 SXSOBT11 0010 SXSOBT14 0014 SXSONQUE 001D 02 SXSPAGZM 001E 04 SXSPAGZP 001E 08 SXSPDISO 001C 0000007D SXSPRFX 001C 00000031 SXSPTEG 0010 SXSRELSE 001F 20 SXSRET14 0018 SXSSTATEG 0018 SXSSTEAL 001F 10 SXSSUTIL 001C 00000083 SXSSVDSK 001C 000000C3 SXSSXPTE 0010 SXSTRACE 001C 00000021 SXSTRANS 001F 40 SXSUSER 001C 00000080 SXSVCB 001C 0000006B SXSVMFRG 000C
Copyright IBM Corporation, 1990, 2011