SEG39 Back to Index page
 
Prolog 
Control Block Contents 
   SEG39 DSECT
   SEGG DSECT
Storage Layout 
Cross Reference (Contains links to field and bit definitions)
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.


  SEG39 Prolog Top of page
 
 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.
 RELOCATION CONSIDERATIONS : None
 
 
  SEG39 Control Block Content Top of page
 

 SEG39 DSECT Top of page
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 Top of page
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 Top of page
 
          
*** 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 Top of page
 
 
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 6.3.0 Last updated on 22 May 2013 at 13:56:36 EDT.
Copyright IBM Corporation, 1990, 2013