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. RELOCATION CONSIDERATIONS : None
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
Copyright IBM Corporation, 1990, 2011