|
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure VPG64 VIRTUAL PAGE BLOCK
0000 0 Dbl-Word 8 VPGGPAG Page Table Entry
0008 8 Dbl-Word 8 VPGGNEXT (0) Address for next VPGBK
0008 8 Dbl-Word 8 * (255)
0800 2048 Dbl-Word 8 VPGGPGS Page Status Table Entry
0808 2056 Dbl-Word 8 * (255)
1000 4096 Dbl-Word 8 VPGGASA Auxiliary Storage Address Entry
1008 4104 Dbl-Word 8 * (255)
Mapping for a PAG64 (PTE)
0000 0 Dbl-Word 8 VPGGPTE (0) VPGBK Page Table Entry
0000 0 Dbl-Word 8 VPGGPNTR Hardware Page Table Entry
0000 0 Signed 4 VPGGPTE0 Word 0 of PTE
0004 4 Signed 4 VPGGPTE1 Word 1 of PTE
0000 0 Signed 2 VPGGPLNK This field is used to point to
the next free Page Table Entry
available in this PGMBK (for non-
Pageable PGMBK frames only -
NPGM) which were previously
deallocated.
0002 2 Signed 2 * Reserved for IBM use
0004 4 Signed 4 * Reserved for IBM use
0000 0 Signed 4 VPGGXSBN Xstore block number if PTE is not
valid and PGSXSTOR is b'1'
0004 4 Bitstring 1 VPGGXSTS (20) Xstore time stamp (lowest 20
bits)
0018 24 Bitstring 1 * (4) Reserved for IBM use
001C 28 Bitstring 1 * Reserved for IBM use
0000 0 Signed 4 * Bits 0-31 of PFRA
0004 4 Signed 2 * Bits 32-47 of PFRA
0006 6 Bitstring 1 VPGGPSTA Bits 48-51 of PFRA For a
valid-in-real-storage PTE, bits
52 and 55 must be zero. Bits 53
and 54 are Page-invalid and
Page-protection, respectively.
1111 .... PAGGSPFR X'F0' PAGGSPFR Bits 48-51 of PFRA
(if resident)
.... 1..1 PAGGSMBZ X'09' PAGGSMBZ Must be zero in
any valid PTE when EDAT-1 does
not apply. Bits 52, 55
.... 1... PAGGEMBZ X'08' PAGGEMBZ Must be zero in
any valid PTE when EDAT-1 does
apply. Bit 52
.... .1.. PAGGINVA X'04' PAGGINVA PTE is invalid:
I-bit. To turn off this bit,
SHORT pg. serialization must be
held unless the bit is being
turned off by HPMA or by fastpath
resolve which require only
PCLONLY Bit 53
.... ..1. PAGGPROT X'02' PAGGPROT Page protected
(read only): P-bit Bit 54
.... ...1 PAGGCHOV X'01' PAGGCHOV Change-recording
Override. Bit 55
.... ...1 PAGGIEP X'01' PAGGIEP
Instruction-Execution-Protection
Bit 55
.... .1.1 PAGGSXVA X'05' PAGGSXVA Page is invalid,
but is valid in xstore This is a
non-architected software
definition. Bits 53, 55
0007 7 Bitstring 1 * This byte is not architected and
is available for software use. It
is recommended that software
refrain from using this byte
unless it is to store the guest
storage key.
0000 0 Dbl-Word 8 VPGGPASA2 PTRM 2nd ASA. For PTRM PTEs only,
and only when PGMBK is on DASD or
as a transient condition when the
PGMBK is headed to/from DASD.
Note that I and P bits must be
preserved and are unavailable as
ASA or status bits. See HCPASATE
for ASA formats.
Mapping for a PGS64 (PGSTE)
0800 2048 Dbl-Word 8 VPGGPGST (0) VPGBK Page Status Entry
0800 2048 Dbl-Word 8 VPGGSNTR Virtual Page Status Entry
0800 2048 Signed 4 VPGGPGS0 Word 0 of PGSTE
0804 2052 Signed 4 VPGGPGS1 Word 1 of PGSTE
0800 2048 Bitstring 3 VPGGVRSF Field containing VPGGSVKY,
VPGGSRCP and VPGGSFLG
0803 2051 Bitstring 1 * Reserved for IBM use
0800 2048 Bitstring 1 VPGGSVKY Guest Storage Key Bits 0-4
0801 2049 Bitstring 1 VPGGSRCP Architected area for RCP Byte If
the storage key assist is being
utilized. (See the PGSTE and
RCPTE Control Blocks for further
details)
1... .... RCPLOCK X'80' RCPLOCK RCP LOCK HELD
.1.. .... RCPHREF X'40' RCPHREF HOST BACKUP
REFERENCE BIT
..1. .... RCPHCH X'20' RCPHCH HOST BACKUP CHANGE
BIT
.11. .... RCPHOST RCPHREF+RCPHCH RCPHOST MASK FOR
HOST BITS
.... .1.. RCPGREF X'04' RCPGREF GUEST BACKUP
REFERENCE BIT
.... ..1. RCPGCH X'02' RCPGCH GUEST BACKUP CHANGE
BIT
.... .11. RCPGUEST RCPGREF+RCPGCH RCPGUEST MASK FOR
GUEST BITS
1... .... PGSPCL X'80' PGSPCL Page Control Lock
.1.. .... PGSRCPHR X'40' PGSRCPHR Host backup
reference bit used for system
pages
..1. .... PGSRCPHC X'20' PGSRCPHC Host backup change
bit used for system pages. Can be
changed with PCLONLY page
serialization by tasks allowed to
use PCLONLY. Set by page fault
fastpath. Note that when setting
this bit or when resetting it and
turning on the PGSZBIT bit, the
relocation change bit, PGSLGRCC
needs to be turned on.
.11. .... PGSHOST PGSRCPHR+PGSRCPHC PGSHOST Mask
for host bits
...1 .... PGSLGRCC X'10' PGSLGRCC VMRELOCATE Content
Change bit. Initialized to one.
Changed only when holding PCLONLY
or SHORT (including ERRSHORT).
Known in architecture as PGSHCB.
.... .1.. PGSGREF X'04' PGSGREF Guest backup
reference bit
.... ..1. PGSGCH X'02' PGSGCH Guest backup change
bit
.... .11. PGSGUEST PGSGREF+PGSGCH PGSGUEST Mask for
guest bits
0802 2050 Bitstring 1 VPGGSFLG Virtual Page Flags
1... .... PGSINVAL X'80' PGSINVAL No auxiliary
storage assigned Notes :
PGSINVAL, in combination with
other PTE, PGSTE, and storage key
status bits, is used by steal
processing to identify first time
reference pages of zeros which
have never been re-referenced or
changed and can simply be
discarded. The "first time
reference page of zeros" state is
identified by the following bit
combination: noformat PTE:
PAGINVAL=0 (page is valid and
resident) PGSTE: PGSINVAL=1 (no
DASD slot assigned) PGSRCPHR=0
(unreferenced) PGSRCPHC=0
(unchanged) Real frame storage
key: Reference=0 (unreferenced)
Change =0 (unchanged) enoformat
Any resident page in this state
is assumed to be unchanged zeros,
and therefore simply discardable
by steal. No page with non-zero
contents should ever be allowed
to be in this state, or a lost
page will eventually result. The
host change bit, PGSRCPHC, should
be used to indicate that a page
which is unchanged, not already
on DASD, and non-zero, must be
eventually written to DASD. *
Note that both reference bits
(PGSRCPHR and the real storage
frame reference bit) can
"evaporate" to zero over time due
to the action of the reorder
function. Therefore, the fact
that a frame has been referenced,
or setting PGSRCPHR on, can not
prevent a page from eventually
entering this "first time
reference page of zeros" state.
.1.. .... PGSSHARE X'40' PGSSHARE Page is a shared
page
..1. .... PGS1READ X'20' PGS1READ ASA may be read
only once. Used for shared pages.
After the first read, this SDF
(System Data File) ASA is to be
ignored and the page left as
changed. When the page is first
written, it will go to a paging
space ASA and this flag wil be
turned off. PGS1READ on implies
that page is read-only for the
user.
...1 .... PGSALLOC X'10' PGSALLOC Page in the system
address space (or a system-owned
utility address space) that is
allocated, OR A shared CP page in
the monitor DCSS that CP has
translated and that has not yet
been released by the user
connected to the DCSS. When this
bit is on: 1) For a system
utility space, the page is never
part of a DASD block; 2) The
associated PGMBK is never paged
out.
.... 1... PGSFIXED X'08' PGSFIXED Storage slot
permanently assigned
>>PGSPGMIO was PGSIO1ST,
PGSIO2ND
.... .1.. PGSPGMIO X'04' PGSPGMIO Indicates that
pageable PGMBK I/O has not
completed (PTRM page). Set when
the first I/O completion
interrupt is processed, reset
when the second I/O completion
interrupt is processed. Note the
I/O can complete in either order.
>>PGSPGMIM was PGSIOMSK
0803 2051 Bitstring 1 VPGGSSTA Virtual Page Status bits
1... .... PGSALTPT X'80' PGSALTPT For a target PTE,
indicates the definition of the
page is in alternate page table
pointed to by PGMGALTP. For a
source PTE, indicates data was
saved for the page. Source PTEs
can be distinguished from target
PTEs by PGMGALTP being 0.
PGSALTPT must be turned off when
assigning differentiated page
contents to the target PTE.
.1.. .... PGSPCL2 X'40' PGSPCL2 Page serialization
bit. See serialization section of
prolog for more information.
..1. .... PGSLTSER X'20' PGSLTSER Page is "Long Term
Serialized". May only be on if
PGSPCL2 is also on (though PGSPCL
may be on as well)
.... .... PGSXSTOR X'00' PGSXSTOR Page is in XSTORE
.... .1.. PGSBLOCK X'04' PGSBLOCK This page is one
page in a block of pages
.... ..1. PGSRABI X'02' PGSRABI This page was read
in as part of a block of pages.
This bit can NOT be checked for
PTRM pages, as it is redefined as
PGSXSTMB in that case. RABI pages
are made IBR when added to the
frame list.
.... ...1 PGSERROR X'01' PGSERROR Page is in error.
A storage error was detected in
this page and the page could not
be recovered. See serialization
section of the prolog for role
this bit plays in page
serialization. When this bit is
set, VMDRSSFG.VMDRSSUE must be
set in the VMDBK that owns the
space.
0803 2051 Bitstring 1 VPGGMSTA Virtual Page (PGMBK) Status bits
0804 2052 Signed 4 * Reserved
0804 2052 Bitstring 1 VPGGSB4 Virtual Page Status (Byte 4)
1... .... PGSZBIT X'80' PGSZBIT
Page-content-logically zero bit
Only meaningful when the PTE is
invalid.
.1.. .... PGSNT X'40' PGSNT Guest no translation.
When ON the guest page does not
contain any DAT structures.
..1. .... PGSCLASS X'20' PGSCLASS The page class
specifies which
Delta-pinned-page-count array is
to be used in maintaining pinned
page counts. Page class 0 (bit is
0) specifies the DPPCA for base
address space pages owned by
user. Page class 1 (bit is 1)
specifies NSS/DCSS imbedded
shared pages. The page class 0
DPPCA resides in the ASCBK and is
pointed to by SIEDPPCAO in the
format-2 state descriptor
(SI2BK). The page class 1 DPPCA
resides resides in RSMBK and is
pointed to by PFXDPPCAO in the
prefix area.
...1 .... PGSOVFLW X'10' PGSOVFLW The pin count
(PGSPINCT) has overflowed and the
current value does not represent
the total pin count. The
remainder of the total pin count
is contained in both PGSOVFL1 (a
one bit pin count overflow used
to control hardware interception)
and PGAOVFLW in the PGAUX). PTE
must be valid. Can be modified
with PCLONLY page serialization
by tasks allowed to use PCLONLY.
Set by pin/unpin fastpaths,
translation paths, and no-owned
functions. Before setting
PGSOVFLW, PGAUX should be cleared
to ensure no residual data is
present.
.... 1... PGSPROCL X'08' PGSPROCL Indicates page is
on the processed list. Turned on
by machine or fast path
processing when corresponding
FRMTE is put on processed list.
Turned off by HCPPLP processed
list processing. Can be modified
with PCLONLY page serialization
by tasks allowed to use PCLONLY.
Set by HPMA or fastpath validate
page. See PFXPROCL definition
comments in HCPPFXPG for
additional rules regarding
processed list usage and the
setting of PGSPROCL.
.... .1.. PGSCONRP X'04' PGSCONRP Indicates a
content-replacement operation
occurred on an HPMA Resolve host
page function. Can be modified
with PCLONLY page serialization
by tasks allowed to use PCLONLY.
Set by HPMA or fastpath validate
page.
.... ..1. PGSUS0 X'02' PGSUS0
.... ...1 PGSUS1 X'01' PGSUS1
.... ..11 PGSUS PGSUS0+PGSUS1 PGSUS
.... .... PGSUSS 0 PGSUSS
.... ...1 PGSUSU 1 PGSUSU
.... ..1. PGSUSP 2 PGSUSP
.... ..11 PGSUSV 3 PGSUSV
0805 2053 Bitstring 1 VPGGSB5 Virtual Page Status (Byte 5)
0806 2054 Bitstring 1 VPGGSB6 Virtual Page Status (Byte 6)
0807 2055 Bitstring 1 VPGGSB7 VPS (Byte 7) - Pin Count
0804 2052 Signed 4 VPGPPDBK 31-bit PPDBK address. Note that
this 31-bit addr doesn't conflict
with bit 0 of this fullword (bit
32 of the PGSTE), which is
PGSZBIT. Valid only in invalid
PTRM PGSTE, when PGMBK is on
DASD, or as a transient condition
when the PGMBK may be headed to
DASD.
Mapping for a ASA64 (ASATE)
Each ASA table entry is 8-bytes, with the following
format:
+------+-----+-----+-----+-----+-----+-----+-----+-----+
| Byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
+------+-----+-----+-----+-----+-----+-----+-----+-----+
| ECKD | -C | CC | cc | cc | PP | VV | -* | $- |
+------+-----+-----+-----+-----+-----+-----+-----+-----+
| FBA | -P | PP | PP | PP | PP | VV | -* | $- |
+------+-----+-----+-----+-----+-----+-----+-----+-----+
| Bits | 0- 7| 8-15|16-23|24-31|32-39|40-47|48-55|56-63|
+------+-----+-----+-----+-----+-----+-----+-----+-----+
| Notes : |
| - unused/available, zeros |
| * reserve B'0110' for I and P bits when in PTE, rest|
| available |
| $ reserve B'1000' for encryption bit, rest available|
| |
| When ASA is a PRBN, it is contained in bytes 0-3 and|
| bytes 4-5 will be 0. |
Although we treat a standard ASA as a 48-bit value (see
VPGGASA48), only 44 of those bits are actually relevant.
The high-order 4 bits (bits 0-3) are unused and will be
zero. When loading an ASA entry into a register, it's
often convenient to have it in the low-order portion of
the register. This could be accomplished as follows:
LG Rx,VPGGASA48
SRLG Rx,Rx,16
However, another option which accomplishes the same, but
also handles the possibility that bits 0-3 might be
non-zero (perhaps a future enhancement wishes to use these
bits) is as follows:
LG Rx,VPGGASA48
RISBGZ Rx,Rx,20,63,-16
Since the RISBGZ is not a commonly-used instruction and
is a bit complicated with so many operands, it's probably
worth a little explanation. The RISBGZ instruction takes
the 64 bits in a register (2nd operand), rotates them left
a specified number of bits (5th operand), and then inserts
a specific bit range of the result (3rd and 4th operand)
into a register (1st operand), filling in any bits not
specified in the range with zeros. In the above example,
-16 specifies a right shift of 16 bits, 20-63 are 44 bits
of the ASA we wish to retain which have now been shifted
into the low portion of the register, and bits 0-19 will
be zero.
1000 4096 Dbl-Word 8 VPGGASAT (0) VPGBK Aux Storage Address
1000 4096 Dbl-Word 8 VPGGANTR Auxiliary Storage Address
1000 4096 Signed 4 VPGGASA0 Word 0 of ASATE
1004 4100 Signed 4 VPGGASA1 Word 1 of ASATE
1000 4096 Bitstring 6 VPGGASA48 cylinder, page, volume portion
(or page, volume for FBA)
1000 4096 Bitstring 2 VPGGASAx Cyl/page extension for large ASA
(high-order 4 bits reserved and
should be 0)
1002 4098 Bitstring 4 VPGGASA32 original CCPV/PPPV portion of ASA
1002 4098 Bitstring 3 * CCP/PPP
1005 4101 Bitstring 1 VPGGAVOL Auxiliary Storage Volume Code
1000 4096 Signed 4 VPGGPRBN For mapped-minidisk, PRBN uses
the first fullword of the ASATE
1004 4100 Signed 4 VPGGAXSBN2 PTRM 2nd Xstore Block Number
(XSBN). For PTRM PTEs only, when
PGMBK is in Xstore (PGSXSTOR=1),
contains the XSBN containing the
second page of the PGM64.
1000 4096 Bitstring 6 * Bits 0-47 of ASA
1006 4102 Bitstring 1 VPGGAFLG ASA & Flags protect bits when
PTRM PTE contains 2nd ASA for
paged 8K PGMBK (to keep
consistant formats)
1007 4103 Bitstring 1 VPGGASTA ASA status
1... .... VPGENCPT X'80' VPGENCPT Page is encrypted
on auxiliary storage (DASD). The
bit is set when an encrypted page
is written. When a slot is
returned this bit is turned OFF.
Also, when a slot is allocated
this bit should be OFF. When
PGSINVAL is ON, the VPGENCPT bit
has no meaning. Serialization for
VPGENCPT is page SHORT.
| |