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' Segment table entry is
                                        invalid
          ...1 ....      SEGCOMMN       X'10' Common segment bit
          .... 1111      SEGPTLNG       X'0F' Page table length (in units
                                        of 64 byte blocks, minus 1).
          0SEGSTAT       SEGPTOM        X'7FFFFFC0' Isolate page-table
                                        origin
          ..1. ....      SEGINVM        X'00000020' Isolate invalid bit
          ...1 ....      SEGCOMM        X'00000010' Isolate
                                        common-segment bit
          .... 1111      SEGPTLM        X'0000000F' 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 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 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 Number of bits to shift left in
                                        order to multiply by SEGPTUNT.
          ...1 ....      SEGPXPTL       12+4 Bits to shift right an
                                        isolated page index to obtain a
                                        page- table length.
          .... 1.1.      SEGPXDSP       12-2 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           ESAME Segment Table Entry
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 ESAME 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. ....      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' 64-bit mask
                                        X'FFFFFFFFFFFFFF800'
          SEGGSTAT       SEGGPTMH       X'FFFFFFFF' Isolate page-table
                                        origin - High
          SEGGSTAT       SEGGPTML       X'FFFFF800' Isolate page-table
                                        origin - Low 64-bit mask
                                        X'FFFFFFFF80000000'
          SEGGSTAT       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'
          SEGGSTAT       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 Notes : Since
                                        ESAME 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 Bits to shift by to convert
                                        between segment number and
                                        virtual address.
          SEGGSTAT       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.
          .... 1.11      SEGGPTUS       11 Number of bits to shift left
                                        in order to multiply by SEGGPTUN.
          .... 1...      SEGGPXNUM      8 Number of bits in a PX
          1111 1111      SEGGPXRIT      X'FF' Mask to isolate a right-
                                        justified PX
          .... 1..1      SEGGPXDS       12-3 Bits to shift to convert
                                        between an isolated page index
                                        and the displacement into the
                                        page table of applicable 8 byte
                                        ESAME 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 - ESAME Segment Table Entry
*
*     +-------------------------------------------------------+
*   0 |                       SEGGENTR                        |
*     +-------------------------------------------------------+
*
*** SEGG - ESAME 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 V5R1.0. Last updated on 8 Sep 2004 at 14:53:38 EDT.
Copyright IBM Corporation, 1990, 2004