WSDIRECT - 64-bit CP - V4R4.0
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.

WSDIRECT

Prolog  

Control Block Contents  
   WSDIRECT DSECT
   WSDIRENT DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


WSDIRECT Prolog

 Name       : HCPWSDIR
 Description: vSIE shadow-table directory mapping
 DSECT      : WSDIRECT
 Function   : This copy file contains a DSECT used to map the vSIE
              shadow-table directories.
 Located by : VMDWSDIR in the vSIE VMDBK contains a vector of
              anchors, each pointing to a directory for a
              different type of shadow structure.
 Created by : HCPWLB   when a shadow structure is created.
 Deleted by : HCPWLB   when the shadow structures are destroyed.
 Notes      :
   A shadow-table directory consists of a header and a fixed
   number of entries, each entry describing one shadow
   structure.  The number of entries in a directory is fixed,
   but may be different for each type of directory.  See the
   general comments in the prolog of HCPWLB for information
   on how the number of entries was chosen.
   References to the header are expected to be based on the
   WSDIRHDR label (or the WSDIRECT DSECT).  References to
   an entry are expected to be based on the WSDIRENT DSECT.
   A directory exists for the following types of shadow
   structures:
   ALDS - access-list-designation source (DUCT or PASTE)
   AL   - access list
   ASTE - ASN-second-table entry
   UT   - "upper table" (region or segment table)
   PT   - page table
   Each anchor word at VMDWSDIR in the vSIE VMDBK points to
   the directory for one of these types of structures.  The
   first word points to the ALDS directory, the second word
   points to the AL directory, etc.
   No directory exists for frames.
   The contents of a directory are serialized by CPU-level
   serialization or higher on the Rguest VMDBK.
   A different set of shadow structures are maintained for
   each Rguest VMDBK.

 

WSDIRECT Control Block Content


WSDIRECT DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      WSDIRECT       vSIE shadow-table directory
                                        mapping
     The following area maps the directory header. Code which references the
     header is expected to do a USING on the WSDIRHDR label.
0000    0 Dbl-Word     8 WSDIRHDR (0)   Mapping for directory header
0000    0 Bitstring    1 WSDTYPE        Code indicating type of directory
          00000001       WLBALDS        1 Access-list-designation source
          00000002       WLBAL          2 Access list
          00000003       WLBASTE        3 ASN-second-table entry
          00000004       WLBUT          4 "Upper" (ie. region or segment)
                                        table
          00000005       WLBPT          5 Page table
          00000006       WLBFRAME       6 Frame
0001    1 Bitstring    1 WSDHFLGS       Header flags
0002    2 Signed       2 *              Reserved for IBM use
0004    4 Signed       4 WSDLLRSN       Last
                                        last-reference-sequence-number
0008    8 Signed       4 WSDCTENT       Count of entries in directory
000C   12 Signed       4 WSDCTUSE       Count of entries in use
          00000010       WSDHDLEN       *-WSDIRHDR Length in bytes of the
                                        directory header.
0010   16 Dbl-Word     8 WSDENTS (0)    Entries start here
     The following DSECT maps an individual directory entry.

WSDIRENT DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      WSDIRENT       vSIE shadow-table directory
                                        mapping
0000    0 Bitstring    1 WSDFLAGS       Flags defining state of entry
          1... ....      WSDFUSED       X'80' Entry is in use
          .... ...1      WSDFASCC       X'01' Entry was formed from an
                                        ASCE in an RGuest control
                                        register.
          .... ..1.      WSDFASCA       X'02' Entry was formed from an
                                        ASCE in an Rguest ASTE. If
                                        neither FASCC nor FASCA is set,
                                        then the entry was formed from an
                                        ESAME RGuest RTE.
0001    1 Bitstring    1 *              Reserved for IBM use
0002    2 Signed       2 WSDSHSIZ       Size, in doublewords, of
                                        free-storage area used to contain
                                        shadow structure. For ST
                                        directory entries, this is the
                                        number of frames used for the
                                        segment table.
0004    4 Signed       4 WSDLRSN        Last-reference sequence number
0008    8 Address      4 WSDHEADR       Address of directory header
000C   12 Signed       4 *              Reserved for IBM use
0010   16 Signed       8 WSDGRGDES (0)  Rguest designation for entry (ME
                                        gen)
0010   16 Signed       4 *              Reserved in 390 gen
0014   20 Signed       4 WSDRGDES       Rguest designation for entry (390
                                        gen)
0018   24 Signed       8 WSDGSHDES (0)  Shadow equivalent of designation
                                        (ME)
0018   24 Signed       4 *              Reserved in 390 gen
001C   28 Signed       4 WSDSHDES       Shadow equiv of designation (390
                                        gen)
0020   32 Signed       4 WSDMISC (4)    Miscellaneous information,
                                        different for different types of
                                        entries.
0030   48 Signed       2 WSDCTATT       Count of higher-level shadow
                                        structures to which this
                                        structure is attached.
0032   50 Signed       2 WSDCTVAL       For structures which have
                                        multiple entries, the number of
                                        entries which are valid (in use).
                                        For structures which don't have
                                        multiple entties, a zero or one
                                        indicating whether there is a
                                        lower-level structure attached.
0034   52 Address      4 WSDREFID       If nonzero, address of directory
                                        entry of higher-level structure
                                        to which this structure is
                                        attached.
0038   56 Address      8 WSDGENTAD (0)  If WSDREFID is nonzero, address
                                        of entry in shadow structure to
                                        which this structure is attached
                                        (64-bit address in ESAME gen).
                                        HOWEVER, in a UTdirent in ESAME,
                                        this may be zero even when
                                        WSDREFID is nonzero, to indicate
                                        that the structure is attached to
                                        an ASTE rather than to a
                                        higher-level UT.
0038   56 Signed       4 *
003C   60 Address      4 WSDENTAD       31-bit addr as above (for 390
                                        gen)
          00000040       WSDENTLN       *-WSDIRENT Length in bytes of a
                                        directory entry.
     Remapping of entry to define ALDS-specific fields.
0010   16 Signed       4 *
0014   20 Signed       4 WSDRALDS       Rguest ALDSO
0018   24 Signed       4 *
001C   28 Signed       4 WSDSALDS       Shadow ALDSO
     The WSDMISC, WSDCTATT, WSDREFID, and WSDGENTA fields are not
     significant in an ALDS directory entry.
          00000005       WSDNMALD       5 Number of ALDSs to shadow
          0000002A       WSDSZALD       (WSDHDLEN+WSDNMALD*WSDENTLN+7)/8
                                        Size, in doublewords, of
                                        directory
     Remapping of entry to define AL-specific fields.
0010   16 Signed       4 *
0014   20 Signed       4 WSDRALOL       Rguest ALO and ALL combined as in
                                        ALD
0018   24 Signed       4 *
001C   28 Signed       4 WSDSALOL       Shadow ALO and ALL combined as in
                                        ALD The WSDMISC and WSDGENTA
                                        fields are not significant in an
                                        AL directory entry.
          00000005       WSDNMAL        5 Number of ALs to shadow
          0000002A       WSDSZAL        (WSDHDLEN+WSDNMAL*WSDENTLN+7)/8
                                        Size, in doublewords, of
                                        directory
     Remapping of entry to define ASTE-specific fields.
0010   16 Signed       4 *
0014   20 Signed       4 WSDRASTE       Rguest ASTEO
0018   24 Signed       4 *
001C   28 Signed       4 WSDSASTE       Shadow ASTEO
0020   32 Signed       8 WSDRASCE (0)   RGuest ASCE from (ESAME) RGuest
                                        ASCE
0020   32 Signed       4 *
0024   36 Signed       4 WSDRSTD        RGuest STD from (390) RGuest ASTE
0028   40 Signed       4 WSDRATO        Rguest ATO from Rguest ASTE. The
                                        ATO in this field is aligned as
                                        it would be in the word that
                                        contains the ATO in an ASTE.
002C   44 Signed       4 WSDRATL        Rguest ATL from Rguest ASTE. The
                                        ATL in this field is aligned as
                                        it would be in the word that
                                        contains the ATL in an ASTE.
          00000006       WSDNMAST       6 Number of ASTEs to shadow
          00000032       WSDSZAST       (WSDHDLEN+WSDNMAST*WSDENTLN+7)/8
                                        Size, in doublewords, of
                                        directory
     Remapping of entry to define "UT"-specfic fields in ESAME gen ("upper
     tables" mean collectively region-first, region-second, region-third,
     and segment tables), or ST-specific fields in 390 gen.
     Notes : The term "ASCE" below refers to an ASCE for an ESAME RGuest or
     an STD for an ESA/390 RGuest.
0010   16 Signed       8 WSDRUTD (0)    RGuest upper-table designation
                                        (UTD), for an ESAME RGuest,
                                        consisting of TO, DT, and TL as
                                        in an ASCE, and TF as in an RTE
0010   16 Signed       4 *
0014   20 Signed       4 WSDRSTOL       Rguest STO and STL combined as in
                                        STD (for 390 RGuest)
0018   24 Signed       8 WSDSUTD (0)    Shadow upper-table designation
                                        (UTD), in the ESAME gen
                                        (regardless of RGuest mode)
0018   24 Signed       4 *
001C   28 Signed       4 WSDSSTOL       Shadow STO and STL combined as in
                                        STD (in the 390 gen)
     The WSDMISC and WSDGENTA fields are not significant in an ST directory
     entry.
          0000001A       WSDNMST        26 Number of UTs to shadow
          000000D2       WSDSZST        (WSDHDLEN+WSDNMST*WSDENTLN+7)/8
                                        Size, in doublewords, of
                                        directory
     Remapping of entry to define PT-specific fields.
0010   16 Signed       8 WSDRPTD (0)    RGuest page-table designation,
                                        for an ESAME RGuest, consisting
                                        of the PTO
0010   16 Signed       4 *
0014   20 Signed       4 WSDRPTOL       Rguest PTO and PTL combined as in
                                        STE (for 390 RGuest)
0018   24 Signed       8 WSDSPTD (0)    Shadow page-table designation, in
                                        the ESAME gen (regardless of
                                        RGuest mode)
0018   24 Signed       4 *
001C   28 Signed       4 WSDSPTOL       Shadow PTO and PTL combined as in
                                        STE (in the 390 gen)
     The WSDMISC field is not significant in a PT directory entry.
          00000032       WSDNMPT        50 Number of PTs to shadow
          00000192       WSDSZPT        (WSDHDLEN+WSDNMPT*WSDENTLN+7)/8
                                        Size, in doublewords, of
                                        directory
     Masks to isolate the "match criteria" in RGuest DAT- table
     designations: *** ESA/390 RGuests ***
     Any value stored as the RGuest designation in a WSDIRENT can only have
     bits on in positions selected by the appropriate mask below. This mask
     should be applied to an RGuest designation before storing or comparing
     against a stored value.
     For ESA/390 RGuests, these are four-byte values.
          00FFF07F       WSD3STMK       STDSTOM+STDSTLM For WSDRSTOL in
                                        STdirent (or UTdirent)
          00FFFFCF       WSD3PTMK       SEGPTOM+SEGPTLM For WSDRPTOL in
                                        PTdirent
     Masks to isolate the "match criteria" in RGuest DAT- table
     designations: *** ESAME RGuests ***
     Any value stored as the RGuest designation in a WSDIRENT can only have
     bits on in positions selected by the appropriate mask below. This mask
     should be applied to an RGuest designation before storing or comparing
     against a stored value.
     For ESAME RGuests, these are conceptually eight-byte values; however,
     the assembler supports only four-byte equates. These values should be
     considered to be sign- extended to 64 bits. (In fact, they also have
     the top 17 bits the same, so they can be used in sign-extending
     halfword immediate instructions like LGHI.)
          00FFF0CF       WSDUTDMK       ASCETOML+RTETFMSK+ASCEDTMK+ASCETL
                                        MK For WSDRUTD in UTdirent
          00FFF800       WSDPTDMK       SEGGPTML For WSDRPTD in PTdirent

 

WSDIRECT Storage Layout

          
*** WSDIRECT - vSIE shadow-table directory mapping
*
*     +------+------+-------------+---------------------------+
*   0 |:TYPE |:HFLGS|/////////////|         WSDLLRSN          |
*     +------+------+-------------+---------------------------+
*   8 |         WSDCTENT          |         WSDCTUSE          |
*     +---------------------------+---------------------------+
*
*** WSDIRECT - vSIE shadow-table directory mapping
          
*** WSDIRENT - vSIE shadow-table directory mapping
*
*     +------+------+-------------+---------------------------+
*   0 |:FLAGS|//////|  WSDSHSIZ   |         WSDLRSN           |
*     +------+------+-------------+---------------------------+
*   8 |         WSDHEADR          |///////////////////////////|
*     +---------------------------+---------------------------+
*  10 |///////////////////////////|         WSDRGDES          |
*     +---------------------------+---------------------------+
*  18 |///////////////////////////|         WSDSHDES          |
*     +---------------------------+---------------------------+
*  20 |                       WSDMISC                         |
*     |                                                       |
*     +-------------+-------------+---------------------------+
*  30 |  WSDCTATT   |  WSDCTVAL   |         WSDREFID          |
*     +-------------+-------------+---------------------------+
*  38 |///////////////////////////|         WSDENTAD          |
*     +---------------------------+---------------------------+
*  40
*
*** WSDIRENT - vSIE shadow-table directory mapping
          
*** Overlay for WSDGRGDES in WSDIRENT
*
*     +---------------------------+---------------------------+
*  10 |///////////////////////////|         WSDRALDS          |
*     +---------------------------+---------------------------+
*  18 |///////////////////////////|         WSDSALDS          |
*     +---------------------------+---------------------------+
*  20
*
*** Overlay for WSDGRGDES in WSDIRENT
          
*** Overlay for WSDGRGDES in WSDIRENT
*
*     +---------------------------+---------------------------+
*  10 |///////////////////////////|         WSDRALOL          |
*     +---------------------------+---------------------------+
*  18 |///////////////////////////|         WSDSALOL          |
*     +---------------------------+---------------------------+
*  20
*
*** Overlay for WSDGRGDES in WSDIRENT
          
*** Overlay for WSDGRGDES in WSDIRENT
*
*     +---------------------------+---------------------------+
*  10 |///////////////////////////|         WSDRASTE          |
*     +---------------------------+---------------------------+
*  18 |///////////////////////////|         WSDSASTE          |
*     +---------------------------+---------------------------+
*  20 |///////////////////////////|         WSDRSTD           |
*     +---------------------------+---------------------------+
*  28 |         WSDRATO           |         WSDRATL           |
*     +---------------------------+---------------------------+
*  30
*
*** Overlay for WSDGRGDES in WSDIRENT
          
*** Overlay for WSDGRGDES in WSDIRENT
*
*     +---------------------------+---------------------------+
*  10 |///////////////////////////|         WSDRSTOL          |
*     +---------------------------+---------------------------+
*  18 |///////////////////////////|         WSDSSTOL          |
*     +---------------------------+---------------------------+
*  20
*
*** Overlay for WSDGRGDES in WSDIRENT
          
*** Overlay for WSDGRGDES in WSDIRENT
*
*     +---------------------------+---------------------------+
*  10 |///////////////////////////|         WSDRPTOL          |
*     +---------------------------+---------------------------+
*  18 |///////////////////////////|         WSDSPTOL          |
*     +---------------------------+---------------------------+
*  20
*
*** Overlay for WSDGRGDES in WSDIRENT

 

WSDIRECT Cross Reference

Symbol         Dspl Value
-------------- ---- -----
WLBAL          0000 00000002
WLBALDS        0000 00000001
WLBASTE        0000 00000003
WLBFRAME       0000 00000006
WLBPT          0000 00000005
WLBUT          0000 00000004
WSDCTATT       0030
WSDCTENT       0008
WSDCTUSE       000C
WSDCTVAL       0032
WSDENTAD       003C
WSDENTLN       003C 00000040
WSDENTS        0010
WSDFASCA       0000 02
WSDFASCC       0000 01
WSDFLAGS       0000
WSDFUSED       0000 80
WSDGENTAD      0038
WSDGRGDES      0010
WSDGSHDES      0018
WSDHDLEN       000C 00000010
WSDHEADR       0008
WSDHFLGS       0001
WSDIRHDR       0000
WSDLLRSN       0004
WSDLRSN        0004
WSDMISC        0020
WSDNMAL        001C 00000005
WSDNMALD       001C 00000005
WSDNMAST       002C 00000006
WSDNMPT        001C 00000032
WSDNMST        001C 0000001A
WSDPTDMK       001C 00FFF800
WSDRALDS       0014
WSDRALOL       0014
WSDRASCE       0020
WSDRASTE       0014
WSDRATL        002C
WSDRATO        0028
WSDREFID       0034
WSDRGDES       0014
WSDRPTD        0010
WSDRPTOL       0014
WSDRSTD        0024
WSDRSTOL       0014
WSDRUTD        0010
WSDSALDS       001C
WSDSALOL       001C
WSDSASTE       001C
WSDSHDES       001C
WSDSHSIZ       0002
WSDSPTD        0018
WSDSPTOL       001C
WSDSSTOL       001C
WSDSUTD        0018
WSDSZAL        001C 0000002A
WSDSZALD       001C 0000002A
WSDSZAST       002C 00000032
WSDSZPT        001C 00000192
WSDSZST        001C 000000D2
WSDTYPE        0000
WSDUTDMK       001C 00FFF0CF
WSD3PTMK       001C 00FFFFCF
WSD3STMK       001C 00FFF07F

This information is based on z/VM V4R4.0. Last updated on 30 Jul 2003 at 13:30:07 EDT.
Copyright IBM Corporation, 1990, 2003