|
Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
RCPTE
Control Block Contents
RCPTE DSECT
Cross Reference (Contains links to field and bit definitions)
RCPTE Prolog
NAME : HCPRCPTE
DESCRIPTION: REFERENCE AND CHANGE PRESERVATION TABLE ENTRY
DSECT : RCPTE
FUNCTION : A REFERENCE AND CHANGE PRESERVATION TABLE ENTRY
IS USED TO KEEP TRACK OF THE REFERENCE AND
CHANGE BITS FOR A 4K PAGE OF VIRTUAL STORAGE.
LOCATED BY : THERE ARE NO POINTERS TO RCP TABLE ENTRIES IN THE
SYSTEM. THESE ENTRIES MAY RESIDE IN ONE OF THREE
PLACES:
1) A RESIDENT RCP PAGE (MAPPED THROUGH THE HOST
VIRTUAL ADDRESS SPACE),
2) THE RCP BACKUP AREA IN THE PGMBK, OR
3) THE PGSTES CORRESPONDING TO THE PAGES THE RCP
DATA REPRESENTS.
CREATED BY :
HCPHTTCP - RCP PAGES ARE BUILT WHEN SIE PAGE FAULTS
ON AN RCP PAGE.
HCPRCIRS - MOVES RCP DATA FROM THE RCP PAGE TO THE
RCP BACKUP AREA.
DELETED BY : HCPHPKPA - THE RCP AREA IS CLEARED WHEN THE VIRT STG
IS RESET. AN RCP PAGE MAY BE STOLEN BUT THE ACTUAL
RCP TABLE WILL EXIST UNTIL THE PGMBK IS RELEASED.
WHEN AN RCP PAGE IS STOLEN, THE BYTES ARE BACKED
UP IN THE CORRESPONDING PGMBKS BY HCPRCISA.
COMMENTS :
- RCP DATA CORRESPONDING TO SYSTEM VIRTUAL PAGES
WILL ALWAYS RESIDE IN THE PGSTES.
- IF THE STORAGE KEY ASSIST IS BEING UTILIZED:
- THE ARCHITECTURE DEFINES THE PGSRCP FIELDS
AS THE LOCATION OF THE RCP DATA.
- ALL RCP DATA IS SUSCEPTIBLE TO CHANGE BY THE
STORAGE KEY ASSIST IF THE RCP INTERLOCK BIT IS
NOT SET (RCP INTERLOCK BIT SERIALIZES CP AGAINST
THE STORAGE KEY ASSIST AND VICE VERSA).
- IF THE STORAGE KEY ASSIST IS NOT BEING UTILIZED
- THE RCP AREA FOR A GUEST MACHINE CONTAINS ONE
PAGE IN HOST VIRTUAL STORAGE FOR EACH 16 MEG OF
GUEST STORAGE, STARTING AT THE HOST VIRTUAL
ADDRESS CONTAINED IN 'VMDRCP'. THE RCP PAGES
ARE CONTAINED IN THE HOST ADDRESS SPACE USED
TO DESCRIBE GUEST STORAGE, BUT THE RCP AREA
IS NOT DIRECTLY ADDRESSABLE BY THE GUEST.
- IF THE RCP AREA PAGE IS MARKED INVALID IN THE
HOST PAGE TABLE, THE RCP BYTE APPEARS IN THE PAGE
MANAGEMENT BLOCK (PGMBK) WHICH REPRESENTS THAT
MEGABYTE OF GUEST STORAGE, STARTING AT PGMRCPTB.
- ONLY THE RCP DATA RESIDING IN THE RCP PAGE IS
SUSCEPTIBLE TO CHANGE BY THE SIE MICROCODE. IF
THE RCP DATA RESIDES IN THE PGMBK, SIE WILL NOT
BE ABLE TO CHANGE IT.
- SHARED STORAGE RCP DATA IS ALWAYS KEPT IN THE
RCP BACKUP AREA.
RCPTE Control Block Content
RCPTE DSECT
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure RCPTE REFERENCE AND CHANGE PRESERVATION
TABLE ENTRY
THIS CONTROL BLOCK DEFINES AN RCP BYTE
(REFERENCE AND CHANGE PRESERVATION).
THE FIELD IS DEFINED BY PROCESSOR ARCHITECTURE.
DO NOT MODIFY THIS FIELD EXCEPT TO INSTALL
ARCHITECTURE CHANGES.
0000 0 Bitstring 1 RCPBYTE HARDWARE RCP BYTE FOR ONE 4K PAGE
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
THE RCP (REFERENCE AND CHANGE PRESERVATION) AREA
IS USED TO ALLOW THE HARDWARE REFERENCE AND CHANGE
BITS FOR A SINGLE REAL PAGE TO RECORD REFERENCE AND
CHANGE INFORMATION FOR USE BY BOTH THE GUEST AND
BY THE HOST.
WHENEVER THE HARDWARE EMULATES A GUEST SET STORAGE
KEY (SSK) INSTRUCTION, THE OLD VALUE OF THE R/C BITS
FROM THE REAL PAGE ARE OR'ED INTO THE HOST
R/C BITS IN THE RCP AREA, THEN THE REAL R/C BITS
ARE SET TO ZERO, AND THE NEW GUEST R/C BITS ARE
PLACED IN THE RCP BYTE GUEST R/C BITS.
WHEN THE HARDWARE EMULATES A GUEST RESET REFERENCE
BIT (RRB) INSTRUCTION, THE CONDITION CODE IS
DETERMINED FROM THE LOGICAL OR OF THE R/C BITS IN
THE REAL PAGE WITH THE GUEST R/C BITS FROM THE
RCP AREA BYTE FOR THAT PAGE. THE OLD VALUE OF THE
REFERENCE BIT IN THE REAL PAGE IS OR'ED INTO THE
HOST BACKUP REFERENCE BIT IN THE RCP AREA BYTE, AND
THE REAL PAGE REFERENCE BIT PLUS THE GUEST BACKUP
REFERENCE BIT IN THE RCP BYTE ARE SET TO ZERO.
WHEN THE HARDWARE EMULATES A GUEST INSERT STORAGE
KEY INSTRUCTION, THE GUEST IS GIVEN THE KEY FROM
REAL STORAGE, PLUS THE R/C BITS FROM THE REAL PAGE
OR'ED WITH THE GUEST BACKUP R/C BITS FROM THE RCP
AREA BYTE FOR THAT PAGE.
WHEN SOFTWARE MODIFIES THE R/C BITS IN REAL STORAGE
WHICH REPRESENTS A GUEST PAGE, THE SOFTWARE WILL
LOGICALLY OR THE R/C BITS FROM REAL STORAGE INTO
THE GUEST BACKUP R/C BITS FOR THAT PAGE PRIOR TO
MODIFYING THE REAL STORAGE R/C BITS.
IN ORDER THAT ONLY ONE CPU IS ACCESSING A PARTICULAR
RCP AREA BYTE AT A TIME (EITHER BY EMULATION
HARDWARE OR BY SOFTWARE SIMULATION), A LOCK BIT IS
DEFINED IN THE RCP AREA BYTE. PRIOR TO STARTING
ANY OPERATION INVOLVING THE RCP AREA, A LOCK IS
OBTAINED ON THE RCP AREA BYTE BY ATTEMPTING TO
COMPARE-AND-SWAP THE LOCK BIT ON. IF THE HARDWARE
EMULATION FACILITY IS UNABLE TO OBTAIN THE LOCK,
THE INSTRUCTION WILL BE PRESENTED TO SOFTWARE AS
AN INSTRUCTION INTERCEPTION.
0001 1 Bitstring 1 RCPNEXT (0) NEXT RCP BYTE (ONLY TO BE USED IF
THE STORAGE KEY ASSIST IS NOT
BEING UTILIZED)
RCPTE Storage Layout
*** RCPTE - REFERENCE AND CHANGE PRESERVATION TABLE ENTRY
*
* +------+
* 0 |:BYTE |
* +------+
*
*** RCPTE - REFERENCE AND CHANGE PRESERVATION TABLE ENTRY
RCPTE Cross Reference
Symbol Dspl Value -------------- ---- ----- RCPBYTE 0000 RCPGCH 0000 02 RCPGREF 0000 04 RCPGUEST 0000 06 RCPHCH 0000 20 RCPHOST 0000 60 RCPHREF 0000 40 RCPLOCK 0000 80 RCPNEXT 0001
Copyright IBM Corporation, 1990, 2007