Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
SEG39
Control Block Contents
SEG39 DSECT
SEGG DSECT
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 V4R2.0. Last updated on 30 Oct 2001 at 15:41:51 EDT.
Copyright IBM Corporation, 1990, 2001