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

SEG64

Prolog  

Control Block Contents  
   SEG64 DSECT
   SEGTB64 DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


 

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
      64-bit mask  X'FFFFFFFF80000000'
          00FFFFFF       SEGG2GMH       X'FFFFFFFF' Isolate STE bits
                                        which must be zero in a <2G
                                        ESAME STE - High
          .... ....      SEGG2GML       X'80000000' Isolate STE bits
                                        which must be zero in a <2G
                                        ESAME 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       ESAME format segment table entry
          00000008       SEGGLEN        *-SEGGENTR Length of one ESAME
                                        format segment table entry
0008    8 Dbl-Word     8 SEGGNEXT (0)   Next segment table entry
0000    0 Signed       4 SEG64W0        Word 0 of ESAME STE Bits 0-31 of
                                        ESAME PTO
0004    4 Signed       4 SEG64W1        Word 1 of ESAME STE
0004    4 Bitstring    1 * (2)          Bits 32-47 of ESAME PTO
0006    6 Bitstring    1 SEGGSTA2       Bits 48-52 of ESAME PTO, plus the
                                        following three bits:
          .... ..1.      SEGGPROT       X'02' Entire segment is page
                                        protected
0007    7 Bitstring    1 SEGGSTAT       Segment Table Entry Status
          1... ....      SEGGWAIT       X'80' Segment has translation
                                        requests waiting. SEGINVAL must
                                        be = 1. This bit is a
                                        non-architected software
                                        definition.
          .1.. ....      SEGGTRAN       X'40' Segment is being translated
                                        This bit is used by software to
                                        serialize segment translation.
                                        SEGINVAL 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' 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' Common segment bit
          .... 11..      SEGGTTBT       X'0C' Table Type bits - must be
                                        b'00'
          .... ..1.      SEGGXSTR       X'02' 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' 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.
      Note that unlike the ESA/390 segment table entry, the
      ESAME segment table entry contains no page table length
      information.  In ESAME mode, 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. In ESAME, 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 ESAME PTE.
          00000008       SEGGPTRM       8 Bits to shift to determine if
                                        an invalid STE contains a PTRM
                                        virtual address.
      FUNCTION   : The segment table describes a virtual address
                 space.  A segment table is made up of contiguous
                 segment table entries.  Segment tables must begin
                 on 4K page boundaries, and must be of integral
                 multiples of the minimum segment table size,
                 64 bytes for ESA/390 and 1024 bytes for ESAME.
                 For guest primary address spaces of 512MB or
                 less, or for non-primary virtual address
                 spaces of 512MB  or less, the segment table is
                 allocated either as a seperate page of storage
                 or out of the low addresses of a GUESTPERM type
                 VMDBK free storage frame.
                 For non-guest primary address spaces, such as VM
                 data spaces and system address spaces, if the
                 address space is 512MB  or smaller, the segment
                 table is always allocated either from a seperate
                 page of storage or out of the low addresses of a
                 GUESTPERM type VMDBK free storage frame.
                 When a virtual address space is defined greater
                 than 512MB in size, up to four contiguous pages
                 are allocated.
                 The SYSTEM virtual address space is always
                 defined to be 2048MB in size and its segment
                 table is always allocated as four contiguous
                 frames of storage at system initialization.
                 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 (ESA/390)
             ASTASCE   field of HCPASTE (ESAME)
             CONTROL REGISTER 1
             CONTROL REGISTER 7
             PGMSEGTE  field of the associated PGMBK (if any)
             VMDPSTD   field of HCPVMDBK (ESA/390)
             VMDPASCE  field of HCPVMDBK (ESAME)
             VMDPXSOL  field of HCPVMDBK for shadow tables
      Created by :
             HCPBVMBK  when a VMDBK is built
             HCPFTUSG  when an FTC address space is built
             HCPSEGAS  when a normal segment table is built
             HCPWLGET  when a shadow segment table is built
             For guest primary address space addressability less
             than or equal to 32 MB, the segment table created by
             HCPBVM (imbedded in the beginning of the VMDBK)
             which was created during LOGON processing is
             used.  HCPBVM always builds this segment table
             regardless of the guest primary virtual address
             space storage size, but it is only used if the
             actual addressability needed is 32MB or less.
             For guest primary address space storage sizes
             from 33 Megabytes to 1024 MB, and for all other
             address spaces less than or equal to 1024 MB, the
             segment table is allocated either as a seperate page
             or from the low addresses of a GUESTPERM type VMDBK
             free storage page.
             For all address spaces from 1024 MB to 2048 MB in
             size, two contiguous pages are allocated to contain
             the segment table.  If there is enough unused storage
             in the secong page past the end of the segment table,
             the second page may be used for GUESTPERM type VMDBK
             free storage (with the low addresses allocated for
             use as the segment table).
      Deleted by :
             HCPSTKFG  when a VMDBK is released
             HCPSEGRS  when a normal segment table is released
             HCPWLBRE  when a shadow segment table is released
             The segment table in guest primary VMDBKs is not
             deleted until the VMDBK itself is deleted (after the
             guest is logged off).  If the guest primary virtual
             storage size at the time of logoff is 32MB or less,
             this is the actual segment table.  Normal segment
             tables allocated outside the VMDBK are released
             whenever the address space is destroyed or reset, and
             may be released when an address space is resized due
             to saved segment imbed/unimbed processing.
             Shadow segment tables are deleted when the owning
             RGuest base VMDBK is destroyed.

SEGTB64 DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      SEGTB64        SEGMENT TABLE
0000    0 Signed       4 SEGGORIG (0)   Segment Table Origin
0000    0 Bitstring    1 * (0)          First STE / SEGTE

 

SEG64 Storage Layout

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

 

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
SEGGORIG       0000
SEGGPROM       0000 00000200
SEGGPROT       0006 02
SEGGPTMH       0000 00FFFFFF
SEGGPTML       0000 00FFF800
SEGGPTRM       0007 00000008
SEGGPTUN       0007 00000800
SEGGPTUS       0007 0000000B
SEGGPXDS       0007 00000009
SEGGSHFT       0007 00000014
SEGGSTAT       0007
SEGGSTA2       0006
SEGGTRAN       0007 40
SEGGTTBT       0007 0C
SEGGWAIT       0007 80
SEGGXSTR       0007 02
SEGG2GMH       0000 00FFFFFF
SEGG2GML       0000 00
SEG64W0        0000
SEG64W1        0004

This information is based on z/VM V5R1.0. Last updated on 8 Sep 2004 at 14:28:42 EDT.
Copyright IBM Corporation, 1990, 2004