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

SEG64

Prolog  

Control Block Contents  
   SEG64 DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


SEG64 Prolog

 NAME       : HCPSEGTE
 DESCRIPTION: SEGMENT TABLE ENTRY
 DSECT      : SEG64
 Function   : There is one segment table entry for each
              megabyte of address space.  A segment table is
              made up of contiguous segment table entries.
              For details on the segment table, see the SEGTB
              DSECT definition below.
              The format of the segment table entry is
              ARCHITECTED and cannot be changed in any way
              which violates the architecture.
 Located by : ASTSTD    field of HCPASTE
              CONTROL REGISTER 1
              CONTROL REGISTER 7
              PGMGSTE   field of the associated PGMBK (if any)
              STLSTEPx  fields of HCPSTLBK
              VMDPSTD   field of HCPVMDBK
              VMDPXSOL  field of HCPVMDBK for shadow tables
              Note that STEs pointed to from the STLBK STLSTEPx
              fields are only "templates" used
              during saved segment processing, and are never
              *attached* (accessible by DAT hardware) in the
              architectural sense.
 Created by : HCPBVMBK  when a VMDBK is built
              HCPWLGET  when a shadow segment table is built
 Deleted by : HCPSTKFG  when a VMDBK is released
              HCPWLBRE  when a shadow segment table is released

 

SEG64 Control Block Content


SEG64 DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      SEG64          SEGMENT TABLE ENTRY
          00FFFFFF       SEGGPTMH       X'FFFFFFFF' Isolate page-table
                                        origin - High
          00FFF800       SEGGPTML       X'FFFFF800' Isolate page-table
                                        origin - Low
          0000F800       SEGGPTMLL      X'F800' Isolate PTO - LowLow
      64-bit mask  X'FFFFFFFF80000000'
          00FFFFFF       SEGG2GMH       X'FFFFFFFF' Isolate STE bits
                                        which must be zero in a <2G
                                        STE - High
          .... ....      SEGG2GML       X'80000000' Isolate STE bits
                                        which must be zero in a <2G
                                        STE - Low
      64-bit mask  X'0000000000000200'
      32-bit high  X'00000000'
          00000200       SEGGPROM       X'00000200' Isolate segment page
                                        protect bit
      64-bit mask  X'0000000000000020'
      32-bit high  X'00000000'
          ..1. ....      SEGGINVM       X'00000020' Isolate invalid bit
      64-bit mask  X'0000000000000010'
      32-bit high  X'00000000'
          ...1 ....      SEGGCOMM       X'00000010' Isolate
                                        common-segment bit
0000    0 Dbl-Word     8 SEGGENTR       Segment table entry
          00000008       SEGGLEN        *-SEGGENTR Length of one STE
0008    8 Dbl-Word     8 SEGGNEXT (0)   Next segment table entry
0000    0 Signed       4 SEG64W0 (0)    Word 0 of STE Bits 0-31 of PTO
0000    0 Bitstring    1 SEG64B0        Byte 0 of STE NOTES : The
                                        following bit definition occupies
                                        bit 0 of the STE since there are
                                        no more unused bits in either
                                        SEGGSTAT or SEGGSTA2. Even though
                                        SEGGSTA2 appears to have spare
                                        bits, they may never be used for
                                        segments whose PGMBK is paged
                                        out, since that byte is used as
                                        part of the ASA information.
          1... ....      SEGGSTBL       X'80' SEGGSTBL A system reset
                                        function occurred while the PGMBK
                                        was paged out. This bit indicates
                                        that the PGSTE entries for this
                                        segment must all be set to stable
                                        state when the PGMBK is next
                                        paged in. This bit only has
                                        meaning when SEGGINVL=1
0001    1 Bitstring    1 * (3)          Bytes 1-3 of STE
0004    4 Signed       4 SEG64W1        Word 1 of STE
0004    4 Bitstring    1 * (2)          Bits 32-47 of PTO
0006    6 Bitstring    1 SEGGSTA2       Bits 48-52 of PTO, plus the
                                        following three bits:
          .... ..1.      SEGGPROT       X'02' SEGGPROT Entire segment is
                                        page protected
0007    7 Bitstring    1 SEGGSTAT       Segment Table Entry Status
          1... ....      SEGGWAIT       X'80' SEGGWAIT Segment has
                                        translation requests waiting.
                                        SEGGINVL must be = 1. In order to
                                        enqueue a deferred STE
                                        serialization request, CS must be
                                        used to insist that both SEGGINVL
                                        and SEGGTRAN are on continuously
                                        while either turning SEGGWAIT on,
                                        or finding it on and leaving it
                                        on. This bit is a non-architected
                                        software definition.
          .1.. ....      SEGGTRAN       X'40' SEGGTRAN Segment is being
                                        translated This bit is used by
                                        software to serialize segment
                                        translation. SEGGINVL must be =
                                        1. This bit is a non-architected
                                        software definition. Note that
                                        TMLL is used to test SEGGINVL and
                                        SEGGNULL at the same time. This
                                        creates a dependency on SEGGINVL
                                        being to the left of and in the
                                        same halfword as SEGGNULL.
          ..1. ....      SEGGINVL       X'20' SEGGINVL Segment Table
                                        Entry is invalid Bits 0-52 of the
                                        Segment Table entry do NOT
                                        contain a valid Page-Table Origin
          ...1 ....      SEGGCOMN       X'10' SEGGCOMN Common segment bit
          .... 11..      SEGGTTBT       X'0C' SEGGTTBT Table Type bits -
                                        must be b'00'
          .... ..1.      SEGGXSTR       X'02' SEGGXSTR Used by CP to
                                        indicate that a PGMBK that
                                        resides on XSTORE supports pages
                                        that also reside on XSTORE. This
                                        bit is a non-architected software
                                        definition.
          .... ...1      SEGGNULL       X'01' SEGGNULL Segment cannot be
                                        allocated for guest storage, it
                                        is not addressable by the user.
                                        SEGGINVL must be = 1. This bit is
                                        a non-architected software
                                        definition.
      z/Arch segment table entry contains no page table length
      information.  All page tables represent a
      full megabyte of virtual storage (256 page table entries).
          00000014       SEGGSHFT       20 Bits to shift by to convert
                                        between segment number and
                                        virtual address.
          00000800       SEGGPTUN       2048 Number of bytes in a
                                        page-table. All page tables are
                                        "full" page tables containing 256
                                        8 byte entries, representing 1M
                                        of virtual storage.
          0000000B       SEGGPTUS       11 Number of bits to shift left
                                        in order to multiply by SEGGPTUN.
          00000009       SEGGPXDS       12-3 Bits to shift to convert
                                        between an isolated page index
                                        and the displacement into the
                                        page table of the applicable 8
                                        byte PTE.
          00000008       SEGGPTRM       8 Bits to shift to determine if
                                        an invalid STE contains a PTRM
                                        virtual address.

 

SEG64 Storage Layout

          
*** SEG64 - SEGMENT TABLE ENTRY
*
*     +-------------------------------------------------------+
*   0 |                       SEGGENTR                        |
*     +-------------------------------------------------------+
*
*** SEG64 - SEGMENT TABLE ENTRY
          
*** Overlay for SEGGENTR in SEG64
*
*     +------+--------------------+---------------------------+
*   0 |:64B0 |////////////////////|         SEG64W1           |
*     +------+--------------------+---------------------------+
*   8
*
*** Overlay for SEGGENTR in SEG64
          
*** Overlay for SEG64W1 in SEG64
*
*                                 +-------------+------+------+
*   0 ...                       4 |/////////////|:GSTA2|:GSTAT|
*                                 +-------------+------+------+
*   8
*
*** Overlay for SEG64W1 in SEG64

 

SEG64 Cross Reference

Symbol         Dspl Value
-------------- ---- -----
SEGGCOMM       0000 10
SEGGCOMN       0007 10
SEGGENTR       0000
SEGGINVL       0007 20
SEGGINVM       0000 20
SEGGLEN        0000 00000008
SEGGNEXT       0008
SEGGNULL       0007 01
SEGGPROM       0000 00000200
SEGGPROT       0006 02
SEGGPTMH       0000 00FFFFFF
SEGGPTML       0000 00FFF800
SEGGPTMLL      0000 0000F800
SEGGPTRM       0007 00000008
SEGGPTUN       0007 00000800
SEGGPTUS       0007 0000000B
SEGGPXDS       0007 00000009
SEGGSHFT       0007 00000014
SEGGSTAT       0007
SEGGSTA2       0006
SEGGSTBL       0000 80
SEGGTRAN       0007 40
SEGGTTBT       0007 0C
SEGGWAIT       0007 80
SEGGXSTR       0007 02
SEGG2GMH       0000 00FFFFFF
SEGG2GML       0000 00
SEG64B0        0000
SEG64W0        0000
SEG64W1        0004

This information is based on z/VM V5R3.0. Last updated on 25 Jun 2007 at 17:25:00 EDT.
Copyright IBM Corporation, 1990, 2007