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 V6R1.0.
    Last updated on 18 Feb 2010 at 09:25:40 EDT.

    Copyright IBM Corporation, 1990, 2008