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

FRMTE

Prolog  

Control Block Contents  
   FRMTE DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


FRMTE Prolog

 NAME       : HCPFRMTE
 DESCRIPTION: FRAME TABLE ENTRY
 DSECT      : FRMTE
 FUNCTION   : A FRAME TABLE ENTRY DESCRIBES ONE 4K ALIGNED
              BLOCK OF REAL STORAGE.
 LOCATED BY : 64-bit address
              PFXFTBLG + (Host Real address of frame / 4096 * 32)
              VMDGFR1ST User owned frame forward anchor
              VMDGFRLST User owned frame backward anchor
              FRMFPNTG  Field of HCPFRMTE for chained frames
              FRMBPNTG  Field of HCPFRMTE for chained frames
              FRMFRNXTG Free storage FRMTE forward pointer
              SUBGANCH  SUBBK FRMTE list anchor
              PF2FTOFTE host real address of FRMTE describing
              frame used for first page of Frame Table.
              PF2STOFTE host real address of FRMTE describing
              frame used for first page of SXS page
              management table.
              FRMTENXT  host real address of FRMTE describing
              next frame used for frame table or
              SXS page management table.
              Used for PF2FTOFTE and PF2STOFTE chains.
 CREATED BY : HCPISV    Entries allocated and initialize at ipl
              from storage below the 8E line in the
              System Execution Address Space.
 DELETED BY : NONE
 RELOCATION CONSIDERATIONS : None
 NOTES      : THE FRMTES ARE CONTAINED IN THE FRAME TABLE.
              Space for the frame table is allocated at system
              initialization.
              THE SPACE FOR THE FRAME TABLE IS NEVER RELEASED.
              The frame table is contiguous in the System Execution
              Space (SXS), but NOT in real storage. Algorithms that
              convert between FRMTE address and real frame address
              must use the SXS address of the FRMTE.
 SERIALIZED :
   There are rules that dictate the order in which
   serialization can be obtained on PTEs, FRMTEs, and
   SXSTEs.  See HCPPGSER MACRO for more information.
   The following serialization discussion generally applies
   to FRMTEs with pageable FRMCSB0 frame codes (that is,
   frames where the FRMUSER x'80' bit is on in FRMCSB7G).
   Such FRMTEs are referred to as "pageable FRMTEs" in this
   discussion.  Note that this includes most available frames
   (frames which have the FRMAVAIL bit set in FRMCSB7G,
   whether they are actually on the global available list,
   one of the processor local available lists, or in some
   other "in transit" state), since the previous use frame
   codes are not changed while a frame is available.
   Pageable FRMTEs are serialized primarily by the four FRMTE
   serialization bits:  FRMAVAIL, FRMTRANS, FRMRELSE, and
   FRMSTEAL, all in FRMSTATEG FRMCSB7G.  These four bits are
   essentially mutually exclusive spin locks.  Under normal
   circumstances, they may be turned on *ONLY* one at a time
   and *ONLY* by a word concurrent interlocked instruction
   such as CS or CDS.  That is, only *ONE* of the four bits
   is allowed to be on at any given time.  If any one of the
   four serialization bits is on, none of the other three
   serialization bits may be turned on until it goes off, and
   no changes to the rest of the FRMTE are allowed by any
   task other than the one that currently "owns" the FRMTE
   (that is, the task that turned the current serialization
   bit on).
   Note while the four FRMTE serialization bits are somewhat
   similar to normal spin locks, they are unique in that the
   usual "no loss of control while a spin lock is held" rule
   does *NOT* necessarily apply.  The reason for this
   exception is that FRMTEs may need to be left in these
   serialized states for long periods of time, so spin loops
   attempting to obtain pageable FRMTE serialization must
   only spin if the current state is known to be a "short
   term" state, and must take into consideration possible
   status changes in the remainder of FRMSTATEG (and possibly
   FRMPTEG as well).
   Generally, only word concurrent interlocked instructions
   should be used to manipulate pageable FRMTEs' FRMCSB7G.
   However, for performance reasons, there are special cases
   where a task which currently holds exclusive ownership of
   a FRMTE (by having turned one of the FRMCSB7G serialization
   bits on via CS or CDS) may release FRMTE serialization
   using a non-interlocked byte concurrent instruction, such
   as ST or NI.  This technique is *ABSOLUTELY* dependent on
   mutual exclusivity of the four FRMCSB7G serialization bits,
   and use of word concurrent interlocked instructions in
   setting them on.
   A FRMCSB7G serialization bit may *ONLY* be turned off
   (regardless whether the instruction used is interlocked or
   not) if it is known without any doubt to be on and held by
   the running task.  Turning an FRMCSB7G serialization bit
   which is already zero off *again* with a non-interlocked
   instruction such as NI "just in case" or to combine code
   paths is a dangerous exposure to lost FRMCSB7G updates.
   Occasionally, FRMTEs which are not on any queue or
   associated with any active PTE are said to be under "task
   local" serialization.  In this case, the assumption is
   that no other task can get the address of the FRMTE, since
   no other control structures point to it.  However, it must
   *ALWAYS* be kept in mind that the frame table scan
   function in HCPALF can find *ANY* FRMTE, regardless of
   state, since it processes the entire frame table
   sequentially, looking for pageable FRMTEs which are in a
   "stealable" state.  Therefore, this "task local"
   serialization technique is only valid for non-pageable
   FRMTEs, where FRMCSB7G FRMUSER (x'80') is off.
   Also, it should be kept in mind that frame table scan
   approaches frame and page serialization backwards from
   most other code, in that it attempts to get the lowest
   level serialization first by (conditionally) obtaining
   FRMSTEAL, and working up (again, conditionally) from
   there.  Therefore, frame table scan must obtain all
   serialization conditionally, and be able to release all
   held serialization and abandon the current FRMTE, if any
   serialization conflict is encountered.  Otherwise,
   deadlocks with tasks obtain serialization in the normal
   "top down" fashion will result.
   This discussion not meant to be an exhaustive definition
   of FRMTE serialization.  There are special circumstances
   such as system initialization where these rules do not
   apply, and other non-pageable frame code types have their
   own serialization mechanisms depending on usage.  There
   are also some special pageable frame code types (such as
   MDC related FRMTEs and pageable page table FRMTEs) which
   are bound by these rules but have additional special
   serialization mechanisms as well.
   There may well be places in the existing code which do not
   abide by these rules and are not yet known to have caused
   any problems, but any such instances should be thoroughly
   investigated.  Any code that violates the FRMCSB7G
   serialization bit mutual exclusivity rule for pageable
   FRMTEs while the system is in a normal running state is
   very likely in error, though, and should be addressed as
   soon as possible.
   The reason for all of this paranoia is that FRMTE
   serialization problems (such as lost FRMCSB7G updates) are
   notoriously difficult to debug.  FRMTE serialization
   errors usually lead to unpredictable (but invariably bad)
   results which typically do not cause external symptoms
   immediately.  By the time external symptoms arise, most
   in-storage evidence of the root cause has usually been
   overwritten.  Known typical symptoms of FRMTE
   serialization errors include various loops and hangs,
   and MCW002 ABENDs, but other symptoms are quite possible.

 

FRMTE Control Block Content


FRMTE DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      FRMTE          FRAME TABLE ENTRY
0000    0 Dbl-Word     8 FRMGORGIN (0)  Frame Table Entry Origin
0000    0 Address      8 FRMFPNTG       64-bit host logical address FRMTE
                                        forward pointer
0008    8 Address      8 FRMBPNTG       64-bit host logical address FRMTE
                                        backward pointer
0010   16 Address      8 FRMPTEG        64-bit host real address pointer
                                        to corresponding Page Table Entry
                                        when FRMCSB0 contains a pageable
                                        type frame code. PTE address is
                                        the same as the VPG64 address for
                                        the 4K block of virtual storage.
                                        The VPG64 is a more convenient
                                        mapping. FRMPTEG must be zeroed
                                        whenever a FRMTE is put on the
                                        global or local available list.
                                        When FRMSXS is on and FRMCSB0
                                        does not contain a pageable type
                                        frame code, this field is
                                        redefined as FRMSXSTE, the 64-bit
                                        host logical address of the
                                        corresponding SXSTE. See FRMSXSTE
                                        redefinition of FRMPTEG.
0018   24 Signed       8 FRMSTATEG      Frame status bits and flags. All
                                        bits are contained in a double
                                        word such that Compare & Swap-CSG
                                        can be used to serialize frame
                                        state changes.
      See the serialization section of this part prologue for a
      detailed discussion of FRMTE serialization rules.
      WARNING: Do *NOT* change any FRMTE serialization code
               without first *THOROUGHLY* understanding the
               FRMTE serialization rules
          00000020       FRMLENTH       *-FRMTE Length of frame table
                                        entry
0020   32 Dbl-Word     8 FRMNEXTG (0)   Next sequential entry
0000    0 Signed       4 *              High half of forward pointer
0004    4 Signed       4 *              Low half of forward pointer
0008    8 Signed       4 *              High half of backward pointer
000C   12 Signed       4 FRMBPNT1       Low half of backward pointer
      FRMBPNT1 is set by HCPHTTFF (front end of fast path
      page fault processor) to indicate to HCPPLPPL (back
      end of fastpath page processor) what type of page
      fault occurred.  For a page fault satisfied by PGIN
      of an XSTORE block from a non-alternate PGMBK, the
      XSTORE block number is stored in FRMBPNT1.  If the
      value in FRMBPNT1 is greater than X'FFFFFFFC', no
      XSTORE block was involved and FRMBFLAG will indicate
      the type of page fault that took place.
000C   12 Bitstring    1 * (3)          High 3 bytes of block number
000F   15 Bitstring    1 FRMBFLAG       Fast path status flag
          1111 11.1      FRMALTMV       X'FD' FRMALTMV Page in frame was
                                        moved from a page found in an
                                        alternate PGMBK
          1111 111.      FRMALTPG       X'FE' FRMALTPG Page in frame was
                                        PGIN'd from an XSTORE block found
                                        in an alternate PGMBK
          1111 1111      FRMFTPF        X'FF' FRMFTPF Page in frame was
                                        cleared to satisfy a first time
                                        page fault
              These bits are static frame flag bits
      Redefinition for Minidisk Cache (FTC).
0000    0 Address      8 *              Not redefined for MDC, original
                                        field name, FRMFPNTG, used
0008    8 Signed       4 *              Skip high half of FRMBPNTG
000C   12 Signed       2 FRMTCSTE       Offset within MDC segment table
                                        to the STE that this segment
                                        represents (Page table pages
                                        only)
000E   14 Bitstring    1 FRMPSCT        Count of free PTE sets. Used in
                                        garbage collection only. (Page
                                        table pages only and must be
                                        initialized to 0)
000F   15 Bitstring    1 FRMASSEL       Address space selector bits
          11.. ....      TCHASPAC       X'C0' TCHASPAC These bits
                                        identify the address space used
                                        for caching Note: TCMALMSK and
                                        TCMALSHF depend on these bits
          ..11 1111      TCHIXMSK       X'3F' TCHIXMSK Bits to hold DPSBK
                                        index See also TCMIXMSK.
0010   16 Address      8 FRMSTOG (0)    STO for this address space
                                        (Segment table pages only)
0010   16 Signed       4 *              Reserved for FRMSTOG high half
0014   20 Address      4 FRMSTO         31-bit STO for this address space
0018   24 Address      8 *              May not be redefined for use in
                                        any way by MDC. Original field
                                        name, FRMSTATEG, and
                                        subdefinitions are used.
0010   16 Signed       4 *              High half skipped
0014   20 Signed       2 FRMPS1ST       First PTE set queued on frame for
                                        MDC garbage collection. (Page
                                        table pages only. Must be
                                        initialized to 0 when frame is
                                        allocated as a page table.)
0016   22 Signed       2 FRMPSLST       Last PTE set queued on frame for
                                        MDC garbage collection. (Page
                                        table pages only. Must be
                                        initialized to 0 when frame is
                                        allocated as a page table.)
0010   16 Signed       4 *              High half skipped
0014   20 Signed       4 FRMDCKEY       MDC hash key here for MDC frames
      End of redefinition for Minidisk Cache (FTC).
      Redefinition for Emergency PGMBK Pool
0000    0 Address      8 *
0008    8 Address      8 *
0010   16 Address      8 FRMEMPGM       A(next emergency PGMBK FRMTE)
0018   24 Address      8 *
      End of redefinition for Emergency PGMBK Pool
      Frame state word 0 contains the System Execution Space Page
      Number (bits 1:19) for a pageable type frame code if FRMSXS
      is also on.  FRMSXS on in a pageable type frame code FRMTE
      indicates that the pageable page is also "aliased" into the
      System Execution Space.  The SXPN allows code to locate the
      corresponding SXSTE (System Execution Space Management Table
      Entry, the structure by which System Execution Space Pages
      are managed) by ANDing off unrelated bits, then converting
      the resulting System Execution Space Page address to a SXSTE
      address using the SXSAE macro.
0018   24 Signed       4 FRMSTAW0 (0)   Frame state word 0
0018   24 Bitstring    3 FRMSXPN        System Execution Space Page
                                        Number (bits 1:19), when frame
                                        code is pageable and FRMSXS is on
                                        indicating the pageable page is
                                        aliased into the System Execution
                                        Space.
          00FFF000       FRMSXPNM       X'7FFFF000' Mask for isolating
                                        the System Execution Page Address
                                        from the SXPN.
          00007FFF       FRMSXPNMH      X'7FFF' Mask for isolating the
                                        System Execution Page Address
                                        from the SXPN (high half).
          0000F000       FRMSXPNML      X'F000' Mask for isolating the
                                        System Execution Page Address
                                        from the SXPN (low half).
001B   27 Bitstring    1 *              Reserved for IBM use
      The codes that include the x'80' (FRMUSER) bit in their
      definition indicate that the frame contains a pageable
      page.  For most such frame codes, it means the page is
      represented by (more or less) standard pageable address
      space structures.  Exceptions include the pageable PGMBK
      frame codes FRMPPGM (x'D1') and FRMPPGM2 (x'D5'), which
      are somewhat similar to normal address spaces, but with
      notable exceptions (such as each "page" really being an
      8K pageable PGMBK requiring two frames), and also MDC
      data page frame code FRMFTADD (x'88'), which aren't really
      "pageable" per se, but are more properly described as
      "discardable" or "reclaimable" and are represented by
      completely different special case MDC structures.
      The codes that include the x'01' in their definition
      are a function of the FRMCP bit and are considered
      to be CP frames.  Only frames with FRMCP bit on are
      included in a CP dump.  An exception is VDISK frames,
      identified by frame code x'C3' (FRMSUTIL + x'40'),
      which are CP System Utility address space frames, and
      are CP owned and managed, but contain user data, and
      are therefore *NOT* included in CP dumps.
      The codes that include the X'02' in their definition
      are a function of the FRMDS bit and are considered
      to be data space frames. FRMDS bit is only allowed to
      be used to combine with FRMUSER or FRMSUSER and FRMCP
      to form FRMDTSP or FRMSUTIL.
      FRMPPGM is identified by the X'80' bit as pageable.
      FRMNPGM and FRMPPGM are associated with each other by
      the X'50' bits.
      Free storage frames are associated with each other by
      the X'60' bits.
      Notes      : Any new frame code that contains the X'61' bits
      must be a type of free storage frame.  There are
      places in the system that check for the X'61' bits to
      determine whether or not a frame is a free storage frames.
      All Mini-Disk Cache frame codes have the X'08' bit
      set (Notes      : other frames codes that are not MDC may
      also use the x'08' bit).  FRMFTADD is identified as
      pageable (more properly discardable/reclaimable by the
      X'80' bit.
      The code X'FF' is never a valid frame usage code in
      FRMCSB0.  FRMNEVER is available to test whether a
      value is a frame usage code or not.  For example,
      whether a parameter passed in SAVER2B3 is a frame
      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.
001C   28 Signed       4 FRMCSWRD (0)   Cover for the 4 state bytes
001C   28 Bitstring    1 FRMCSB0 (0)
          00000005       FRMNOTI        X'05' FRMNOTI Frame is not
                                        initialized. TB/SSKE/ISKE has not
                                        been issued against this frame.
          00000009       FRMFTTBL       X'09' FRMFTTBL Frame used for MDC
                                        segment or page table.
          0000000D       FRMMDCHT       X'0D' FRMMDCHT Frame used for MDC
                                        hash table.
          00000010       FRMOFFLN       X'10' FRMOFFLN Frame is offline
                                        and unavailable
          00000011       FRMSXSTB       X'11' FRMSXSTB SXS page mgt table
                                        frame
          00000031       FRMPRFX        X'31' FRMPRFX Prefix page frame
          00000040       FRMVR          X'40' FRMVR V=F user frame
          00000041       FRMFRMTB       X'41' FRMFRMTB Frame table frame
          00000051       FRMNPGM        X'51' FRMNPGM Frame is a
                                        non-pageable pgmbk
          00000051       FRMNPGM1       FRMNPGM FRMNPGM1 First frame of a
                                        non-pageable PGMBK
          00000055       FRMNPGM2       X'55' FRMNPGM2 Second frame of a
                                        non-pageable PGMBK Refer to
                                        FRMSXSTE to identify the SXSTE
                                        that describes the page.
          00000069       FRMAFR         X'69' FRMAFR Frame for absolute
                                        aligned free control block free
                                        storage
          00000082       FRMDTSP        X'82' FRMDTSP Frame used for a
                                        user's data space page
          00000083       FRMSUTIL       X'83' FRMSUTIL Frame used for CP
                                        utility address space page
          00000088       FRMFTADD       X'88' FRMFTADD Frame is part of
                                        the MDC address space. It
                                        contains user data.
          000000C3       FRMSVDSK       X'C3' FRMSVDSK Frame used for
                                        VDISK System Utility address
                                        space page
          000000D1       FRMPPGM        X'D1' FRMPPGM Frame is a pageable
                                        PGMBK
          000000D1       FRMPPGM1       FRMPPGM FRMPPGM1 First frame of a
                                        pageable PGMBK
          000000D5       FRMPPGM2       X'D5' FRMPPGM2 Second frame of a
                                        pageable PGMBK
          0000007D       FRMPDISO       X'7D' FRMPDISO Isolate FRMUSER
                                        and FRMDTSP fields of FRMCSB4G.
                                        This is done to allow code to
                                        test, for either FRMUSER *or*
                                        FRMDTSP being on with one
                                        instruction.
          000000FF       FRMNEVER       X'FF' FRMNEVER Equate to reserve
                                        a value which will never be a
                                        valid frame usage code.
001C   28 Bitstring    1 FRMCSB4G (0)   Compare and swap dword byte 4.
                                        CSG not necessarily required to
                                        alter these bits.
          00000005       FRMNOTI        X'05' FRMNOTI Frame is not
                                        initialized. TB/SSKE/ISKE has not
                                        been issued against this frame.
          00000009       FRMFTTBL       X'09' FRMFTTBL Frame used for MDC
                                        segment or page table.
          0000000D       FRMMDCHT       X'0D' FRMMDCHT Frame used for MDC
                                        hash table.
          00000010       FRMOFFLN       X'10' FRMOFFLN Frame is offline
                                        and unavailable
          00000011       FRMSXSTB       X'11' FRMSXSTB SXS page mgt table
                                        frame
          00000031       FRMPRFX        X'31' FRMPRFX Prefix page frame
          00000040       FRMVR          X'40' FRMVR V=F user frame
          00000041       FRMFRMTB       X'41' FRMFRMTB Frame table frame
          00000051       FRMNPGM        X'51' FRMNPGM Frame is a
                                        non-pageable pgmbk
          00000051       FRMNPGM1       FRMNPGM FRMNPGM1 First frame of a
                                        non-pageable PGMBK
          00000055       FRMNPGM2       X'55' FRMNPGM2 Second frame of a
                                        non-pageable PGMBK Refer to
                                        FRMSXSTE to identify the SXSTE
                                        that describes the page.
          00000069       FRMAFR         X'69' FRMAFR Frame for absolute
                                        aligned free control block free
                                        storage
          00000082       FRMDTSP        X'82' FRMDTSP Frame used for a
                                        user's data space page
          00000083       FRMSUTIL       X'83' FRMSUTIL Frame used for CP
                                        utility address space page
          00000088       FRMFTADD       X'88' FRMFTADD Frame is part of
                                        the MDC address space. It
                                        contains user data.
          000000C3       FRMSVDSK       X'C3' FRMSVDSK Frame used for
                                        VDISK System Utility address
                                        space page
          000000D1       FRMPPGM        X'D1' FRMPPGM Frame is a pageable
                                        PGMBK
          000000D1       FRMPPGM1       FRMPPGM FRMPPGM1 First frame of a
                                        pageable PGMBK
          000000D5       FRMPPGM2       X'D5' FRMPPGM2 Second frame of a
                                        pageable PGMBK
          0000007D       FRMPDISO       X'7D' FRMPDISO Isolate FRMUSER
                                        and FRMDTSP fields of FRMCSB4G.
                                        This is done to allow code to
                                        test, for either FRMUSER *or*
                                        FRMDTSP being on with one
                                        instruction.
          000000FF       FRMNEVER       X'FF' FRMNEVER Equate to reserve
                                        a value which will never be a
                                        valid frame usage code.
001C   28 Bitstring    1 *              The actual byte
      These codes are primarily static frame use codes.
      Some codes are defined in HCPEQUAT (those which have their
      definitions commented out here).
      The following frames can be stolen by the steal task:
          FRMUSER  - Both private and shared frames
          FRMDTSP  - Data space frames (private and shared)
          FRMSUSER - System user frames
          FRMSVDSK - Vdisk space frames (system owned)
          FRMSUTIL - System utility frames
          FRMPPGM  - Pageable PGMBK blocks
          FRMPPGM1 - Pageable PGMBK blocks (1st page)
          FRMPPGM2 - Pageable PGMBK blocks (2nd page)
      The following frames can be stolen by the Mini-Disk-Cache
      (MDC) steal task:
          FRMFTADD - Mini-Disk Cache address space pages.
      All the rest cannot be stolen.
                                 never been passed out for use.
001D   29 Bitstring    1 FRMCSB1 (0)
          ..1. ....      FRMOWNED       X'20' FRMOWNED Frame is on a user
                                        owned list
          ...1 ....      FRMSHARE       X'10' FRMSHARE Frame is shared
                                        storage frame
          .... 1...      FRMRONLY       X'08' FRMRONLY Frame is a read
                                        only frame (e.g., the frame is
                                        being used to back a read only
                                        page, PAGGPROT should be set in
                                        the associated PTE pointed to by
                                        FRMPTEG)
          .... .1..      FRMSXS         X'04' FRMSXS Frame is in SXS and
                                        managed via SXS page management
                                        table. If on for a pageable type
                                        frame code FRMTE, the pageable
                                        page is aliased into the System
                                        Execution Space. If on for a
                                        non-pageable type frame code
                                        FRMTE, the frame is backing an
                                        normal allocated System Execution
                                        Space page (such as free storage,
                                        for example)
          .... ..1.      FRMONQUE       X'02' FRMONQUE Frame is currently
                                        on a queue or list. Check the
                                        frame code to determine what
                                        queue frame is on. FRMAFR - The
                                        absolute aligned free storage
                                        queue. FRMPPGM - The deferred
                                        PGMBK paging list or the paged
                                        PGMBK aging list FRMNPGM - The
                                        list of FRMTEs containing
                                        previously deallocated PTRM PTEs
                                        below current pointer.
          .... ...1      FRMERROR       X'01' FRMERROR Frame is in error
                                        (storage check)
001D   29 Bitstring    1 FRMCSB5G (0)   Compare and swap dword byte 5
                                        Compare and swap not necessarily
                                        required to alter these bits.
          ..1. ....      FRMOWNED       X'20' FRMOWNED Frame is on a user
                                        owned list
          ...1 ....      FRMSHARE       X'10' FRMSHARE Frame is shared
                                        storage frame
          .... 1...      FRMRONLY       X'08' FRMRONLY Frame is a read
                                        only frame (e.g., the frame is
                                        being used to back a read only
                                        page, PAGGPROT should be set in
                                        the associated PTE pointed to by
                                        FRMPTEG)
          .... .1..      FRMSXS         X'04' FRMSXS Frame is in SXS and
                                        managed via SXS page management
                                        table. If on for a pageable type
                                        frame code FRMTE, the pageable
                                        page is aliased into the System
                                        Execution Space. If on for a
                                        non-pageable type frame code
                                        FRMTE, the frame is backing an
                                        normal allocated System Execution
                                        Space page (such as free storage,
                                        for example)
          .... ..1.      FRMONQUE       X'02' FRMONQUE Frame is currently
                                        on a queue or list. Check the
                                        frame code to determine what
                                        queue frame is on. FRMAFR - The
                                        absolute aligned free storage
                                        queue. FRMPPGM - The deferred
                                        PGMBK paging list or the paged
                                        PGMBK aging list FRMNPGM - The
                                        list of FRMTEs containing
                                        previously deallocated PTRM PTEs
                                        below current pointer.
          .... ...1      FRMERROR       X'01' FRMERROR Frame is in error
                                        (storage check)
001D   29 Bitstring    1 *              The actual byte
      These bits are primarily static frame flag bits
001E   30 Bitstring    1 FRMCSB2 (0)
          1... ....      FRMFXASA       X'80' FRMFXASA Indicates PTE
                                        associated with this FRMTE has a
                                        fixed ASA. This flag is used by
                                        slot alloc (HCPPGT) to keep track
                                        of which FRMTEs need ASAs.
          .1.. ....      FRMNOOWN       X'40' FRMNOOWN Frame is no-owned.
          ..1. ....      FRMRFRSH       X'20' FRMRFRSH Frame data is
                                        invalid. The frame must be
                                        refreshed before being used.
          ...1 ....      FRMCTG         X'10' FRMCTG Frame resides on a
                                        contiguous uncleared available
                                        list
          .... ..1.      FRMSUAVL       X'02' FRMSUAVL This bit has
                                        meaning only when a frame is on a
                                        global available list. It
                                        identifies a frame that was
                                        changed from FRMSUSER to FRMUSER
                                        when added to the list. The
                                        purpose of the bit is to aid
                                        debugging.
          .... ...1      FRMLAVL        X'01' FRMLAVL Frame resides on
                                        local available list. This bit
                                        can only be on for frames marked
                                        as available (FRMAVAIL bit is
                                        on.) Frames reside on the global
                                        available list when FRMAVAIL is
                                        on and FRMLAVL is off. Note:
                                        FRMLAVL+FRMAVAIL+FRMSTEAL is used
                                        by frame table scan to remember
                                        that a frame was removed from an
                                        available list. If the attempt is
                                        aborted, FRMLAVL is turned off,
                                        and the frame is returned to an
                                        available list.
001E   30 Bitstring    1 FRMCSB6G (0)   Compare and swap dword byte 6
                                        Compare and swap not necessarily
                                        required to alter these bits.
          1... ....      FRMFXASA       X'80' FRMFXASA Indicates PTE
                                        associated with this FRMTE has a
                                        fixed ASA. This flag is used by
                                        slot alloc (HCPPGT) to keep track
                                        of which FRMTEs need ASAs.
          .1.. ....      FRMNOOWN       X'40' FRMNOOWN Frame is no-owned.
          ..1. ....      FRMRFRSH       X'20' FRMRFRSH Frame data is
                                        invalid. The frame must be
                                        refreshed before being used.
          ...1 ....      FRMCTG         X'10' FRMCTG Frame resides on a
                                        contiguous uncleared available
                                        list
          .... ..1.      FRMSUAVL       X'02' FRMSUAVL This bit has
                                        meaning only when a frame is on a
                                        global available list. It
                                        identifies a frame that was
                                        changed from FRMSUSER to FRMUSER
                                        when added to the list. The
                                        purpose of the bit is to aid
                                        debugging.
          .... ...1      FRMLAVL        X'01' FRMLAVL Frame resides on
                                        local available list. This bit
                                        can only be on for frames marked
                                        as available (FRMAVAIL bit is
                                        on.) Frames reside on the global
                                        available list when FRMAVAIL is
                                        on and FRMLAVL is off. Note:
                                        FRMLAVL+FRMAVAIL+FRMSTEAL is used
                                        by frame table scan to remember
                                        that a frame was removed from an
                                        available list. If the attempt is
                                        aborted, FRMLAVL is turned off,
                                        and the frame is returned to an
                                        available list.
001E   30 Bitstring    1 *              The actual byte
      These bits denote dynamic frame states
      FRMCSB7G FRMTE serialization byte.  Contains the four
      mutually exclusive FRMTE serialization bits.
      See the serialization section of this part prologue for a
      detailed discussion of FRMTE serialization rules.
      WARNING: Do *NOT* change any FRMTE serialization code
               without first *THOROUGHLY* understanding the
               FRMTE serialization rules!!!!!!!!!!!!!!!!!!!
001F   31 Bitstring    1 FRMCSB3 (0)
          1... ....      FRMAVAIL       X'80' FRMAVAIL Frame is on the
                                        global available list, local
                                        available list, or the
                                        processor-local processed list.
                                        FRMPTEG must be cleared and
                                        FRMAVAIL must be set to one when
                                        a frame is on the global
                                        available list. FRMPTEG must be
                                        cleared plus FRMAVAIL, FRMLAVAL,
                                        and FRMUSER must be set to one
                                        when a frame is on the local
                                        available list. FRMPTEG must be
                                        non-zero plus FRMAVAIL, FRMLAVL,
                                        and FRMUSER must be set to one
                                        when a frame is on the processor
                                        local processed list.
          .1.. ....      FRMTRANS       X'40' FRMTRANS Frame is being
                                        translated
          ..1. ....      FRMRELSE       X'20' FRMRELSE Frame is being
                                        released
          ...1 ....      FRMSTEAL       X'10' FRMSTEAL Frame is being
                                        stolen Note: This state
                                        (FRMSTEAL) is sometimes used in
                                        situations where it is not
                                        feasible to use the locked/pinned
                                        frame interface. An example is
                                        HCPPAF saving pages on behalf of
                                        a guest request. Note: This state
                                        (FRMSTEAL) is used in situations
                                        where a FRMTE has just been
                                        removed from an available list,
                                        or is about to be coalesced back
                                        to the available lists, and is
                                        not otherwise serialized. END OF
                                        DEFINITION FOR FRAME TABLE
                                        ENTRIES
001F   31 Bitstring    1 FRMCSB7G (0)   Compare and swap dword byte 7
          1... ....      FRMAVAIL       X'80' FRMAVAIL Frame is on the
                                        global available list, local
                                        available list, or the
                                        processor-local processed list.
                                        FRMPTEG must be cleared and
                                        FRMAVAIL must be set to one when
                                        a frame is on the global
                                        available list. FRMPTEG must be
                                        cleared plus FRMAVAIL, FRMLAVAL,
                                        and FRMUSER must be set to one
                                        when a frame is on the local
                                        available list. FRMPTEG must be
                                        non-zero plus FRMAVAIL, FRMLAVL,
                                        and FRMUSER must be set to one
                                        when a frame is on the processor
                                        local processed list.
          .1.. ....      FRMTRANS       X'40' FRMTRANS Frame is being
                                        translated
          ..1. ....      FRMRELSE       X'20' FRMRELSE Frame is being
                                        released
          ...1 ....      FRMSTEAL       X'10' FRMSTEAL Frame is being
                                        stolen Note: This state
                                        (FRMSTEAL) is sometimes used in
                                        situations where it is not
                                        feasible to use the locked/pinned
                                        frame interface. An example is
                                        HCPPAF saving pages on behalf of
                                        a guest request. Note: This state
                                        (FRMSTEAL) is used in situations
                                        where a FRMTE has just been
                                        removed from an available list,
                                        or is about to be coalesced back
                                        to the available lists, and is
                                        not otherwise serialized. END OF
                                        DEFINITION FOR FRAME TABLE
                                        ENTRIES
001F   31 Bitstring    1 *              The actual byte
      These bits are used to serialize frame state changes
      Redefinition for frames that are not chained.
0000    0 Signed       4 *              Reserved for IBM use
0004    4 Signed       4 FRMID          4 character identifier
                                        Identifiers used in FRMID There
                                        identifiers are for visual
                                        recognition and are not intended
                                        to be used as flags. '*CP*' Frame
                                        in use by control program 'TRAC'
                                        CP trace table page 'FREE' Frame
                                        in use for free storage Refer to
                                        FRMSXSTE to identify the SXSTE
                                        that describes the page. 'AFR '
                                        Aligned absolute free storage
                                        'SXSA' SXS Page on available
                                        backed Q '*VF*' Virtual = Fixed
                                        user frame 'OFLN' Frame is
                                        offline and unavailable 'PRFX'
                                        Prefix page frame ' ' Locked user
                                        frame 'PPGM' Pageable PGMBK
                                        'NPGM' Non-pageable PGMBK 'FTBL'
                                        FTC segment or page table frame
                                        '*RFT' Host Region First Table
                                        frame '*RST' Host Region Second
                                        Table frame '*RTT' Host Region
                                        Third Table frame '*SEG' Host
                                        Segment Table frame 'XDAT' SXS
                                        DAT table frame
                                 Note that FRMCSB4G still == FRMCP
                                 for FRMTEs marked with *RTF,
                                 *RTS, *RTT, *SEG, FRMT, SXST,
                                 and XDAT eyecatchers.
0008    8 Signed       4 *              Reserved for IBM use
000C   12 Signed       4 *              Reserved for IBM use
0010   16 Address      8 *              Reserved for IBM use
0018   24 Signed       8 *              FRMSTATEG (flags and status bits)
      Redefinition for absolute aligned free storage frames
0000    0 Address      8 FRMFRNXTG      Next FRMTE with available blocks
0008    8 Signed       4 *              Reserved for IBM use
000C   12 Signed       2 FRMVMFRG       Fragment size
000E   14 Signed       2 FRMDWUSE       Doublewords of storage in use
0010   16 Address      8 FRMCHNG        Pointer to first free storage
                                        available block in this frame for
                                        real aligned free storage frames.
0010   16 Signed       4 *              Reserved for IBM use
0014   20 Address      4 FRMCHN         The FRMCHN field is used when
                                        contiguous frames are allocated
                                        and released by HCPPTEMF and
                                        HCPPTECR respectively. When used
                                        for this reason, FRMCHN will
                                        contain a number indicating the
                                        total number of contiguous frames
                                        in a contiguous set (from lowest
                                        to highest FRMTE address.) An
                                        allocated single frame may have a
                                        FRMCHN value of zero (indicating
                                        it was allocated via HCPPTFGF) or
                                        one (indicating it was allocated
                                        via HCPPTEMF). For this usage,
                                        FRMCHN must be signed positive
                                        value.
                                 Also, bytes 0 and 1 of this field
                                 contain the offset of the 1st
                                 free page table entry available
                                 in this frame (for non-
                                 pageable PGMBK frames only - NPGM)
                                 which were previously deallocated.
0018   24 Signed       8 *              FRMSTATEG (flags and status bits)
      Redefinition for host DAT (region/segment) table frames
      This redefinition does not apply to System Execution Space
      (SXS) DAT tables with FRMID='XDAT'.
0000    0 Signed       4 *              Reserved for IBM use
0004    4 Signed       4 *              FRMID: eyecatcher, see FRMID
                                        definition above
0008    8 Address      8 FRMHDPBKG      Pointer to Host DAT table
                                        Programming area block for the
                                        DAT table associated with this
                                        frame. Filled in for each FRMTE
                                        for multi-frame DAT tables.
0010   16 Address      8 *              FRMCHNG: for multi-frame host DAT
                                        tables, contains the number of
                                        contiguous frames starting at and
                                        including this frame, by
                                        ascending address
0018   24 Signed       8 *              FRMSTATEG: as above
      Redefinition for non-pageable frame code types for frames
      used to back normal allocated System Execution Space pages
      (not alias SX pages of resident pageable pages).  These
      frames are mapped into the SXS and described by the System
      Execution Space Page Management Tables.
      This redefinition only applies when:
        FRMSXS   = 1
        FRMCSB0  = (any non-pageable frame code)
0010   16 Address      8 FRMSXSTE       Address of the SXSTE that
                                        describes the SXS page that this
                                        frame is associated with in the
                                        SXS DAT tables.
      Redefinition for frame table and SXS page mgt table frames.
      This redefinition only applies when:
        FRMCSB0  = x'11' (FRMSXSTB) or x'41' (FRMFRMTB)
      This redefinition applies to frames used for both SXSTB and
      FRMTB, however the FRMTENXT chains are different for each.
      See PF2FTOFTE and PF2STOFTE chain anchors. These chains are
      used in dump processing.
      These FRMTEs are initialized during system initialization
      and remain unchanged for the life of the system.
0000    0 Bitstring    1 *              Reserved for FRMDUMP
0001    1 Bitstring    1 *              Reserved for IBM use.
0002    2 Bitstring    2 *              Reserved for expansion of
                                        FRMPGNUM size.
0004    4 Signed       4 FRMPGNUM       Frame count into FRMTB in the SXS
                                        address order. Frames that
                                        contain FRMTEs for the FRMTB have
                                        FRMTEs. Every frame is controlled
                                        by a FRMTE. Say that the first
                                        FRMTE is at HLA 300_00000000.
                                        That FRMTE is somewhere in
                                        storage. We can LRAG and get the
                                        HRA. Let's say HLA 300_00000000
                                        is backed by the real frame at
                                        83283000. That's a frame in
                                        storage, so there is a FRMTE that
                                        describes it. That FRMTE is found
                                        by AEFRM 83283000. Let's say that
                                        AEFRM gives us 300_01065060.
                                        300_01065060 is the FRMTE for the
                                        1st frame of the FRMTB. Its
                                        FRMPGNUM is 00000000. And where
                                        is this FRMTE in the dump? LRAG
                                        300_01065060 tells us. Let's
                                        pretend that LRAG gives us
                                        8279A060.
              The 2nd frame of FRMTEs is at 300_00001000, the
              next page HLA.  LRAG can get us its HRA.  Let's
              say that HRA is 78987000.  Notice there is no
              connection to the HRA of the first frame.  The
              backing frames can be anywhere.  78987000 is
              described by a FRMTE.  AEFRM 78987000 gives us
              its FRMTE, 300_00F130E0.  300_00F130E0 is the
              FRMTE for the 2nd frame of the FRMTB.  Its
              FRMPGNUM is 00000001.  And where is this FRMTE in
              the dump?  LRAG 300_00F130E0 tells us.  Let's
              pretend that LRAG gives us 82F450E0.
              If the DAT tables are broken, then we can't use
              LRAG.  We might know from PFXFTBLG that the 1st
              FRMTE is at HLA 300_00000000, but without LRAG
              we'll never find it in the dump.  That's where
              PF2FTOFTE and FRMTENXT come in.  When the FRMTB
              was built, it was determined that the 1st frame
              of FRMTEs was at HRA 83283000.  Dump processing,
              and the VM Dump Tool, can use PF2FTOFTE to find
              that 1st frame of FRMTEs.
              At initialization PF2FTOFTE is initialized:
                LRAG 300_00000000 --> 83283000,
                AEFRM 83283000 --> 300_01065060.
                LRAG 300_01065060 --> 8279A060.
              This value 8279A060 is stored in PF2FTOFTE.
              At HRA 8279A060, 128 FRMTEs of the FRMTB can be
              found.  The next real frame of FRMTEs is found
              from chained the 1st FRMTE of the FRMTB.
              8279A060 points to the FRMTE for the 2nd frame of
              the FRMTB, 82F450E0.
              This is what these 2 FRMTEs would look like
                R8279A060 00000000 00000000 00000000 82F450E0
                          00000000 83283000 00000000 41000000
                R82F450E0 00000000 00000001 00000000 nxtFRMTE
                          00000000 78987000 00000000 41000000
              The FRMTE at R8279A060 has HRA to the next FRMTE
              00000000_82F450E0 as well as the HRA for the
              original HLA (300_00000000 --> 00000000_83283000)
              And so on.
              So, if DAT does not work, one could chase the
              chain anchored at PF2FTOFTE.  To find the frame
              of FRMTEs for some page of FRMTEs, say
              300_01000000), one would determine how many of
              these chained FRMTEs to chase:
                  300_01200000 - PFXFTBLG, which is probably
                  300_01200000 - 300_00000000 = 01200000
                  shift right 12 bits = x1200
              So, one would chase x1200 FRMTENXT pointers to
              get to the FRMTE with FRMPGNUM = x11FF.
              PF2STOFTE anchors an analogous chain for the FRMTEs
              of the frames that contain the SXSTB.
0008    8 Address      8 FRMTENXT       Host real address of the FRMTE
                                        describing the next frame used
                                        for the frame table in order by
                                        frame table logical address. End
                                        of chain is indicated by
                                        x'FFFFFFFFFFFFFFFF'.
0010   16 Address      8 FRMFRMAD       Host real address of the frame
                                        described by this FRMTE.
0018   24 Signed       8 *              FRMSTATEG: as above
      Redefinition used during CP dump processing.
      This redefinition should never be used to modify FRMTEs in
      the frame table that will continue to be used by CP because
      it overlays the first byte of the FRMTE regardless of what
      the FRMTE is being used for. It is intended as a means of
      passing information to the dump tool that is not otherwise
      in the dump. The dump tool will adjust its reading of FRMTEs
      using this redefinition. This means that any uses of the
      first word or doubleword need to omit the first byte.
      Snapdump will also want to include this information in the
      FRMTEs, but the real frame table contents need to be left
      unchanged because the system will continue to run. Snapdump
      will use a work area to modify frame table frames before
      writing them to the dump.
      This redefinition does not cause a loss of information for
      any current usage since the first byte is used as part of
      doubleword pointer. The valid range of addresses used in
      the pointer are currently below 128G and dependent on the
      supported real storage size. The pointer may also contain a
      x'FFFFFFFFFFFFFFFF' (-1).  Therefore the first byte will be
      either x'00' or x'FF' when it is used elsewhere. The data
      in the first byte is insignificant and can be discarded.
      Simple sign extension from the remaining portion of the
      address can be used to restore the first byte. If bit 8 is
      on then the pointer would have been a -1, otherwise the byte
      would have contained x'00'.  The approach of using sign
      extension out of bit 8 is valid until the supported size of
      real storage increases beyond the 16 petabyte range.
      Any changes to the FRMTE must ensure that they do not result
      in a loss of information needed in dump analysis because of
      the overlay on the first byte.
0000    0 Bitstring    1 FRMDUMP        Frame info for dump processing.
          1111 111.      FRMKEY         X'FE' FRMKEY Mask to isolate key
                                        from FRMDUMP. Bits 0-6 for key +
                                        FRC bits.
          .... ...1      FRMDUMPD       X'01' FRMDUMPD Mask to isolate
                                        bit indicating whether frame
                                        contents are in the storage dump
                                        portion of CP dump.
      Redefinition for PTRM PTE serialization.  This is needed
      because a PTRM PTE represents 2 frames of data (a pageable
      PGMBK).  If these 2 frames of data are acted on by
      different threads (say for independent I/O operations),
      they can both think they hold the serialization reflected
      in the PTRM PTE.  To avoid this, any I/O process for
      pageable PGMBKs must first get this spin lock, thereby
      giving that thread the rights to the PTRM PTE and blocking
      all other processes from using the PTRM PTE.  After the
      process is finished with the PTRM PTE, this spin lock is
      released.
0018   24 Signed       4 FRMPPPLK       Fullword spin lock field. Should
                                        either contain binary zeros, or
                                        the address of the instruction
                                        (or one near it) that acquired
                                        the lock. Simple spin lock,
                                        acquired by CS instruction and
                                        released by storing binary zeros.
                                        Note that this field will ONLY be
                                        used in the 2nd FRMTE of the
                                        contiguous pair of FRMTEs that
                                        represent the frames of the
                                        pageable PGMBK.

 

FRMTE Storage Layout

          
*** FRMTE - FRAME TABLE ENTRY
*
*     +-------------------------------------------------------+
*   0 |                       FRMFPNTG                        |
*     +-------------------------------------------------------+
*   8 |                       FRMBPNTG                        |
*     +-------------------------------------------------------+
*  10 |                       FRMPTEG                         |
*     +-------------------------------------------------------+
*  18 |                      FRMSTATEG                        |
*     +-------------------------------------------------------+
*
*** FRMTE - FRAME TABLE ENTRY
          
*** Overlay for FRMFPNTG in FRMTE
*
*     +---------------------------+---------------------------+
*   0 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*   8
*
*** Overlay for FRMFPNTG in FRMTE
          
*** Overlay for FRMBPNTG in FRMTE
*
*     +---------------------------+---------------------------+
*   8 |///////////////////////////|         FRMBPNT1          |
*     +---------------------------+---------------------------+
*  10
*
*** Overlay for FRMBPNTG in FRMTE
          
*** Overlay for FRMBPNT1 in FRMTE
*
*                                 +--------------------+------+
*   8 ...                       C |////////////////////|:BFLAG|
*                                 +--------------------+------+
*  10
*
*** Overlay for FRMBPNT1 in FRMTE
          
*** Overlay for FRMFPNTG in FRMTE
*
*     +-------------------------------------------------------+
*   0 |///////////////////////////////////////////////////////|
*     +---------------------------+-------------+------+------+
*   8 |///////////////////////////|  FRMTCSTE   |:PSCT |:ASSEL|
*     +---------------------------+-------------+------+------+
*  10 |///////////////////////////|          FRMSTO           |
*     +---------------------------+---------------------------+
*  18 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  20
*
*** Overlay for FRMFPNTG in FRMTE
          
*** Overlay for FRMPTEG in FRMTE
*
*     +---------------------------+-------------+-------------+
*  10 |///////////////////////////|  FRMPS1ST   |  FRMPSLST   |
*     +---------------------------+-------------+-------------+
*  18
*
*** Overlay for FRMPTEG in FRMTE
          
*** Overlay for FRMPTEG in FRMTE
*
*     +---------------------------+---------------------------+
*  10 |///////////////////////////|         FRMDCKEY          |
*     +---------------------------+---------------------------+
*  18
*
*** Overlay for FRMPTEG in FRMTE
          
*** Overlay for FRMFPNTG in FRMTE
*
*     +-------------------------------------------------------+
*   0 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*   8 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  10 |                       FRMEMPGM                        |
*     +-------------------------------------------------------+
*  18 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  20
*
*** Overlay for FRMFPNTG in FRMTE
          
*** Overlay for FRMSTATEG in FRMTE
*
*     +--------------------+------+------+------+------+------+
*  18 |      FRMSXPN       |//////|//////|//////|//////|//////|
*     +--------------------+------+------+------+------+------+
*  20
*
*** Overlay for FRMSTATEG in FRMTE
          
*** Overlay for FRMGORGIN in FRMTE
*
*     +---------------------------+---------------------------+
*   0 |///////////////////////////|          FRMID            |
*     +---------------------------+---------------------------+
*   8 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*  10 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  18 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  20
*
*** Overlay for FRMGORGIN in FRMTE
          
*** Overlay for FRMGORGIN in FRMTE
*
*     +-------------------------------------------------------+
*   0 |                      FRMFRNXTG                        |
*     +---------------------------+-------------+-------------+
*   8 |///////////////////////////|  FRMVMFRG   |  FRMDWUSE   |
*     +---------------------------+-------------+-------------+
*  10 |                       FRMCHNG                         |
*     +-------------------------------------------------------+
*  18
*
*** Overlay for FRMGORGIN in FRMTE
          
*** Overlay for FRMCHNG in FRMTE
*
*     +---------------------------+---------------------------+
*  10 |///////////////////////////|          FRMCHN           |
*     +---------------------------+---------------------------+
*  18 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  20
*
*** Overlay for FRMCHNG in FRMTE
          
*** Overlay for FRMGORGIN in FRMTE
*
*     +---------------------------+---------------------------+
*   0 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*   8 |                      FRMHDPBKG                        |
*     +-------------------------------------------------------+
*  10 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  18 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  20
*
*** Overlay for FRMGORGIN in FRMTE
          
*** Overlay for FRMPTEG in FRMTE
*
*     +-------------------------------------------------------+
*  10 |                       FRMSXSTE                        |
*     +-------------------------------------------------------+
*  18
*
*** Overlay for FRMPTEG in FRMTE
          
*** Overlay for FRMGORGIN in FRMTE
*
*     +------+------+-------------+---------------------------+
*   0 |//////|//////|/////////////|         FRMPGNUM          |
*     +------+------+-------------+---------------------------+
*   8 |                       FRMTENXT                        |
*     +-------------------------------------------------------+
*  10 |                       FRMFRMAD                        |
*     +-------------------------------------------------------+
*  18 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  20
*
*** Overlay for FRMGORGIN in FRMTE
          
*** Overlay for FRMGORGIN in FRMTE
*
*     +------+
*   0 |:DUMP | 1
*     +------+
*
*** Overlay for FRMGORGIN in FRMTE
          
*** Overlay for FRMSTAW0 in FRMTE
*
*     +---------------------------+
*  18 |         FRMPPPLK          | 1C
*     +---------------------------+
*
*** Overlay for FRMSTAW0 in FRMTE

 

FRMTE Cross Reference

Symbol         Dspl Value
-------------- ---- -----
FRMAFR         001C 00000069
FRMAFR         001C 00000069
FRMALTMV       000F FD
FRMALTPG       000F FE
FRMASSEL       000F
FRMAVAIL       001F 80
FRMAVAIL       001F 80
FRMBFLAG       000F
FRMBPNTG       0008
FRMBPNT1       000C
FRMCHN         0014
FRMCHNG        0010
FRMCSB0        001C
FRMCSB1        001D
FRMCSB2        001E
FRMCSB3        001F
FRMCSB4G       001C
FRMCSB5G       001D
FRMCSB6G       001E
FRMCSB7G       001F
FRMCSWRD       001C
FRMCTG         001E 10
FRMCTG         001E 10
FRMDCKEY       0014
FRMDTSP        001C 00000082
FRMDTSP        001C 00000082
FRMDUMP        0000
FRMDUMPD       0000 01
FRMDWUSE       000E
FRMEMPGM       0010
FRMERROR       001D 01
FRMERROR       001D 01
FRMFPNTG       0000
FRMFRMAD       0010
FRMFRMTB       001C 00000041
FRMFRMTB       001C 00000041
FRMFRNXTG      0000
FRMFTADD       001C 00000088
FRMFTADD       001C 00000088
FRMFTPF        000F FF
FRMFTTBL       001C 00000009
FRMFTTBL       001C 00000009
FRMFXASA       001E 80
FRMFXASA       001E 80
FRMGORGIN      0000
FRMHDPBKG      0008
FRMID          0004
FRMKEY         0000 FE
FRMLAVL        001E 01
FRMLAVL        001E 01
FRMLENTH       0018 00000020
FRMMDCHT       001C 0000000D
FRMMDCHT       001C 0000000D
FRMNEVER       001C 000000FF
FRMNEVER       001C 000000FF
FRMNEXTG       0020
FRMNOOWN       001E 40
FRMNOOWN       001E 40
FRMNOTI        001C 00000005
FRMNOTI        001C 00000005
FRMNPGM        001C 00000051
FRMNPGM        001C 00000051
FRMNPGM1       001C 00000051
FRMNPGM1       001C 00000051
FRMNPGM2       001C 00000055
FRMNPGM2       001C 00000055
FRMOFFLN       001C 00000010
FRMOFFLN       001C 00000010
FRMONQUE       001D 02
FRMONQUE       001D 02
FRMOWNED       001D 20
FRMOWNED       001D 20
FRMPDISO       001C 0000007D
FRMPDISO       001C 0000007D
FRMPGNUM       0004
FRMPPGM        001C 000000D1
FRMPPGM        001C 000000D1
FRMPPGM1       001C 000000D1
FRMPPGM1       001C 000000D1
FRMPPGM2       001C 000000D5
FRMPPGM2       001C 000000D5
FRMPPPLK       0018
FRMPRFX        001C 00000031
FRMPRFX        001C 00000031
FRMPSCT        000E
FRMPSLST       0016
FRMPS1ST       0014
FRMPTEG        0010
FRMRELSE       001F 20
FRMRELSE       001F 20
FRMRFRSH       001E 20
FRMRFRSH       001E 20
FRMRONLY       001D 08
FRMRONLY       001D 08
FRMSHARE       001D 10
FRMSHARE       001D 10
FRMSTATEG      0018
FRMSTAW0       0018
FRMSTEAL       001F 10
FRMSTEAL       001F 10
FRMSTO         0014
FRMSTOG        0010
FRMSUAVL       001E 02
FRMSUAVL       001E 02
FRMSUTIL       001C 00000083
FRMSUTIL       001C 00000083
FRMSVDSK       001C 000000C3
FRMSVDSK       001C 000000C3
FRMSXPN        0018
FRMSXPNM       0018 00FFF000
FRMSXPNMH      0018 00007FFF
FRMSXPNML      0018 0000F000
FRMSXS         001D 04
FRMSXS         001D 04
FRMSXSTB       001C 00000011
FRMSXSTB       001C 00000011
FRMSXSTE       0010
FRMTCSTE       000C
FRMTENXT       0008
FRMTRANS       001F 40
FRMTRANS       001F 40
FRMVMFRG       000C
FRMVR          001C 00000040
FRMVR          001C 00000040
TCHASPAC       000F C0
TCHIXMSK       000F 3F

This information is based on z/VM V6R2.0. Last updated on 21 Nov 2011 at 11:03:21 EDT.
Copyright IBM Corporation, 1990, 2011