Programming Interface Information: This information is NOT intended to be used as Programming Interfaces of z/VM.

#### RCPTE

Prolog

Control Block Contents
RCPTE DSECT

Storage Layout

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' RCP LOCK HELD
              .1.. ....      RCPHREF        X'40' HOST BACKUP REFERENCE BIT
              ..1. ....      RCPHCH         X'20' HOST BACKUP CHANGE BIT
              .11. ....      RCPHOST        RCPHREF+RCPHCH MASK FOR HOST BITS
              .... .1..      RCPGREF        X'04' GUEST BACKUP REFERENCE BIT
              .... ..1.      RCPGCH         X'02' GUEST BACKUP CHANGE BIT
              .... .11.      RCPGUEST       RCPGREF+RCPGCH 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

This information is based on z/VM V5R2.0. Last updated on 12 Apr 2006 at 17:39:47 EDT.
Copyright IBM Corporation, 1990, 2005