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

SEG39

Prolog  

Control Block Contents  
   SEG39 DSECT
   SEGG DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


SEG39 Prolog

 NAME       : HCPSEG39
 DESCRIPTION: ESA/390 - Segment Table Entry
 DSECT      : SEG39
 Function   : There is one segment table entry for each ESA/390
              megabyte of address space.  A segment table is
              made up of contiguous segment table entries.
              The format of the ESA/390 segment table entry is
              ARCHITECTED and cannot be changed in any way
              which violates the architecture.

 

SEG39 Control Block Content


SEG39 DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      SEG39          ESA/390 - Segment Table Entry
0000    0 Signed       4 SEGENTRY       Pointer to page table on 64 byte
                                        boundary.
          00000004       SEGLENTH       *-SEGENTRY Length of 1 segment
                                        table entry
0004    4 Signed       4 SEGNEXT (0)    Next segment table entry
0000    0 Bitstring    1 *              Bits 0-7 of page table origin.
                                        Bit 0 must be 0 in a valid STE.
0001    1 Bitstring    1 *              Bits 8-15 of page table origin
0002    2 Bitstring    1 *              Bits 16-23 of page table origin
0003    3 Bitstring    1 SEGSTAT        Segment table entry status. Left
                                        2 bits are bits 24-25 of PTO. (6
                                        bits appended on right form the
                                        page table origin.)
          ..1. ....      SEGINVAL       X'20' SEGINVAL Segment table
                                        entry is invalid
          ...1 ....      SEGCOMMN       X'10' SEGCOMMN Common segment bit
          .... 1111      SEGPTLNG       X'0F' SEGPTLNG Page table length
                                        (in units of 64 byte blocks,
                                        minus 1).
          0SEGSTAT       SEGPTOM        X'7FFFFFC0' SEGPTOM Isolate
                                        page-table origin
          ..1. ....      SEGINVM        X'00000020' SEGINVM Isolate
                                        invalid bit
          ...1 ....      SEGCOMM        X'00000010' SEGCOMM Isolate
                                        common-segment bit
          .... 1111      SEGPTLM        X'0000000F' SEGPTLM Isolate
                                        page-table length Notes : Since
                                        ESA/390 segment tables may be
                                        longer (up to 8K) than their
                                        boundary alignment (4K), a STO
                                        can not be computed from an STE
                                        address via a mask.
          ...1 .1..      SEGSHIFT       20 SEGSHIFT Bits to shift right
                                        to get segment number from an
                                        address or shift left to get
                                        starting segment address from a
                                        segment number
          .1.. ....      SEGPTUNT       64 SEGPTUNT Number of bytes in a
                                        "page-table unit", the number of
                                        bytes in the smallest variation
                                        of the size of a page table.
          .... .11.      SEGPTUNS       6 SEGPTUNS Number of bits to
                                        shift left in order to multiply
                                        by SEGPTUNT.
          ...1 ....      SEGPXPTL       12+4 SEGPXPTL Bits to shift right
                                        an isolated page index to obtain
                                        a page- table length.
          .... 1.1.      SEGPXDSP       12-2 SEGPXDSP Bits to shift right
                                        an isolated page index to obtain
                                        the displacement into the page
                                        table of the applicable PTE.

SEGG DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      SEGG           z/Architecture Segment Table Entry
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        Word 0 of STE Bits 0-31 of PTO
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. ....      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' 64-bit mask
                                        X'FFFFFFFFFFFFFF800'
          SEGGSTAT       SEGGPTMH       X'FFFFFFFF' SEGGPTMH Isolate
                                        page-table origin - High
          SEGGSTAT       SEGGPTML       X'FFFFF800' SEGGPTML Isolate
                                        page-table origin - Low 64-bit
                                        mask X'FFFFFFFF80000000'
          SEGGSTAT       SEGG2GMH       X'FFFFFFFF' SEGG2GMH Isolate STE
                                        bits which must be zero in a
                                        <2G STE - High
          .... ....      SEGG2GML       X'80000000' SEGG2GML Isolate STE
                                        bits which must be zero in a
                                        <2G STE - Low 64-bit mask
                                        X'0000000000000200' 32-bit high
                                        X'00000000'
          SEGGSTAT       SEGGPROM       X'00000200' SEGGPROM Isolate
                                        segment page protect bit 64-bit
                                        mask X'0000000000000020' 32-bit
                                        high X'00000000'
          ..1. ....      SEGGINVM       X'00000020' SEGGINVM Isolate
                                        invalid bit 64-bit mask
                                        X'0000000000000010' 32-bit high
                                        X'00000000'
          ...1 ....      SEGGCOMM       X'00000010' SEGGCOMM Isolate
                                        common-segment bit Notes : Since
                                        segment tables may be longer (up
                                        to 16K) than their boundary
                                        alignment (4K), a STO can not be
                                        computed from an STE address via
                                        a mask.
          ...1 .1..      SEGGSHFT       20 SEGGSHFT Bits to shift by to
                                        convert between segment number
                                        and virtual address.
          SEGGSTAT       SEGGPTUN       2048 SEGGPTUN Number of bytes in
                                        a page-table. All page tables are
                                        "full" page tables containing 256
                                        8 byte entries, representing 1M
                                        of virtual storage.
          .... 1.11      SEGGPTUS       11 SEGGPTUS Number of bits to
                                        shift left in order to multiply
                                        by SEGGPTUN.
          .... 1...      SEGGPXNUM      8 SEGGPXNUM Number of bits in a
                                        PX
          1111 1111      SEGGPXRIT      X'FF' SEGGPXRIT Mask to isolate a
                                        right- justified PX
          .... 1..1      SEGGPXDS       12-3 SEGGPXDS Bits to shift to
                                        convert between an isolated page
                                        index and the displacement into
                                        the page table of applicable 8
                                        byte PTE.

 

SEG39 Storage Layout

          
*** SEG39 - ESA/390 - Segment Table Entry
*
*     +---------------------------+
*   0 |         SEGENTRY          |
*     +---------------------------+
*
*** SEG39 - ESA/390 - Segment Table Entry
          
*** Overlay for SEGENTRY in SEG39
*
*     +------+------+------+------+
*   0 |//////|//////|//////|:STAT | 4
*     +------+------+------+------+
*
*** Overlay for SEGENTRY in SEG39
          
*** SEGG - z/Architecture Segment Table Entry
*
*     +-------------------------------------------------------+
*   0 |                       SEGGENTR                        |
*     +-------------------------------------------------------+
*
*** SEGG - z/Architecture Segment Table Entry
          
*** Overlay for SEGGENTR in SEGG
*
*     +---------------------------+---------------------------+
*   0 |         SEG64W0           |         SEG64W1           |
*     +---------------------------+---------------------------+
*   8
*
*** Overlay for SEGGENTR in SEGG
          
*** Overlay for SEG64W1 in SEGG
*
*                                 +-------------+------+------+
*   0 ...                       4 |/////////////|:GSTA2|:GSTAT|
*                                 +-------------+------+------+
*   8
*
*** Overlay for SEG64W1 in SEGG

 

SEG39 Cross Reference

Symbol         Dspl Value
-------------- ---- -----
SEGCOMM        0003 10
SEGCOMMN       0003 10
SEGENTRY       0000
SEGGCOMM       0007 10
SEGGCOMN       0007 10
SEGGENTR       0000
SEGGINVL       0007 20
SEGGINVM       0007 20
SEGGLEN        0000 00000008
SEGGNEXT       0008
SEGGPROM       0007 SEGGSTAT
SEGGPROT       0006 02
SEGGPTMH       0007 SEGGSTAT
SEGGPTML       0007 SEGGSTAT
SEGGPTUN       0007 SEGGSTAT
SEGGPTUS       0007 0B
SEGGPXDS       0007 09
SEGGPXNUM      0007 08
SEGGPXRIT      0007 FF
SEGGSHFT       0007 14
SEGGSTAT       0007
SEGGSTA2       0006
SEGGTTBT       0007 0C
SEGG2GMH       0007 SEGGSTAT
SEGG2GML       0007 00
SEGINVAL       0003 20
SEGINVM        0003 20
SEGLENTH       0000 00000004
SEGNEXT        0004
SEGPTLM        0003 0F
SEGPTLNG       0003 0F
SEGPTOM        0003 0SEGSTAT
SEGPTUNS       0003 06
SEGPTUNT       0003 40
SEGPXDSP       0003 0A
SEGPXPTL       0003 10
SEGSHIFT       0003 14
SEGSTAT        0003
SEG64W0        0000
SEG64W1        0004

This information is based on z/VM V5R4.0. Last updated on 18 Feb 2010 at 04:26:47 EDT.
Copyright IBM Corporation, 1990, 2009