SEG64 Back to Index page
 
Prolog 
Control Block Contents 
   SEG64 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.


  SEG64 Prolog Top of page
 
 NAME       : HCPSEGTE
 DESCRIPTION: SEGMENT TABLE ENTRY
 DSECT      : SEG64
 FUNCTION   : There is one segment table entry for each
              megabyte of address space.  A segment table is
              made up of contiguous segment table entries.
              For details on the segment table, see the SEGTB
              DSECT definition below.
              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
              CONTROL REGISTER 1
              CONTROL REGISTER 7
              PGMGSTE   field of the associated PGMBK (if any)
              STLSTEPx  fields of HCPSTLBK
              VMDPSTD   field of HCPVMDBK
              VMDPXSOL  field of HCPVMDBK for shadow tables
              Note that STEs pointed to from the STLBK STLSTEPx
              fields are only "templates" used
              during saved segment processing, and are never
              *attached* (accessible by DAT hardware) in the
              architectural sense.
 CREATED BY : HCPBVMBK  when a VMDBK is built
              HCPWLGET  when a shadow segment table is built
 DELETED BY : HCPSTKFG  when a VMDBK is released
              HCPWLBRE  when a shadow segment table is released
 RELOCATION CONSIDERATIONS : None
 
 
  SEG64 Control Block Content Top of page
 

 SEG64 DSECT Top of page
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 0000F800 SEGGPTMLL X'F800' Isolate PTO - LowLow 64-bit mask X'FFFFFFFF80000000' 00FFFFFF SEGG2GMH X'FFFFFFFF' Isolate STE bits which must be zero in a <2G STE - High .... .... SEGG2GML X'80000000' Isolate STE bits which must be zero in a <2G 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'0000000000000100' 32-bit high X'00000000' 00000100 SEGGIEPM X'00000100' Isolate IEP segment protect bit (FC=1) 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 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 (0) Word 0 of STE Bits 0-31 of PTO 0000 0 Bitstring 1 SEG64B0 Byte 0 of STE NOTES : The following bit definition occupies bit 0 of the STE since there are no more unused bits in either SEGGSTAT or SEGGSTA2. Even though SEGGSTA2 appears to have spare bits, they may never be used for segments whose PGMBK is paged out, since that byte is used as part of the ASA information. 1... .... SEGGSTBL X'80' SEGGSTBL A system reset function occurred while the PGMBK was paged out. This bit indicates that the PGSTE entries for this segment must all be set to stable state when the PGMBK is next paged in. This bit only has meaning when SEGGINVL=1 0001 1 Bitstring 1 * (3) Bytes 1-3 of STE 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 .... ...1 SEGGIEP X'01' SEGGIEP Entire segment is IEP protected (when FC=1) 0007 7 Bitstring 1 SEGGSTAT Segment Table Entry Status 1... .... SEGGWAIT X'80' SEGGWAIT Segment has translation requests waiting. SEGGINVL must be = 1. In order to enqueue a deferred STE serialization request, CS must be used to insist that both SEGGINVL and SEGGTRAN are on continuously while either turning SEGGWAIT on, or finding it on and leaving it on. This bit is a non-architected software definition. .1.. .... SEGGTRAN X'40' SEGGTRAN Segment is being translated This bit is used by software to serialize segment translation. SEGGINVL 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' 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' .... ..1. SEGGXSTR X'02' SEGGXSTR 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' SEGGNULL 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. z/Arch segment table entry contains no page table length information. 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. 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 PTE. 00000008 SEGGPTRM 8 Bits to shift to determine if an invalid STE contains a PTRM virtual address. Note that this should be a 64-bit shift (SRAG), as the PTRM address occupies both words of the STE.
 
 
  SEG64 Storage Layout Top of page
 
          
*** SEG64 - SEGMENT TABLE ENTRY
*
*     +-------------------------------------------------------+
*   0 |                       SEGGENTR                        |
*     +-------------------------------------------------------+
*
*** SEG64 - SEGMENT TABLE ENTRY
          
*** Overlay for SEGGENTR in SEG64
*
*     +------+--------------------+---------------------------+
*   0 |:64B0 |////////////////////|         SEG64W1           |
*     +------+--------------------+---------------------------+
*   8
*
*** Overlay for SEGGENTR in SEG64
          
*** Overlay for SEG64W1 in SEG64
*
*                                 +-------------+------+------+
*   0 ...                       4 |/////////////|:GSTA2|:GSTAT|
*                                 +-------------+------+------+
*   8
*
*** Overlay for SEG64W1 in SEG64
 
 
  SEG64 Cross Reference Top of page
 
 
Symbol         Dspl Value
-------------- ---- -----
SEGGCOMM       0000 10
SEGGCOMN       0007 10
SEGGENTR       0000
SEGGIEP        0006 01
SEGGIEPM       0000 00000100
SEGGINVL       0007 20
SEGGINVM       0000 20
SEGGLEN        0000 00000008
SEGGNEXT       0008
SEGGNULL       0007 01
SEGGPROM       0000 00000200
SEGGPROT       0006 02
SEGGPTMH       0000 00FFFFFF
SEGGPTML       0000 00FFF800
SEGGPTMLL      0000 0000F800
SEGGPTRM       0007 00000008
SEGGPTUN       0007 00000800
SEGGPTUS       0007 0000000B
SEGGPXDS       0007 00000009
SEGGSHFT       0007 00000014
SEGGSTAT       0007
SEGGSTA2       0006
SEGGSTBL       0000 80
SEGGTRAN       0007 40
SEGGTTBT       0007 0C
SEGGWAIT       0007 80
SEGGXSTR       0007 02
SEGG2GMH       0000 00FFFFFF
SEGG2GML       0000 00
SEG64B0        0000
SEG64W0        0000
SEG64W1        0004
 
This information is based on z/VM 7.2.0 Last updated on 24 Jun 2020 at 09:30:24 EDT.
Copyright IBM Corporation, 1990, 2020