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 a
                                            z/Arch 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      Rguest designation for entry
    0018   24 Signed       8 WSDGSHDES      Shadow equivalent of designation
    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      If WSDREFID is nonzero, address
                                            of entry in shadow structure to
                                            which this structure is attached
                                            (64 bit) HOWEVER, in a UTdirent,
                                            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.
              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 (z/Arch) 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
          ("upper tables" mean collectively region-first,
          region-second, region-third, and segment tables).
          Notes      :  The term "ASCE" below refers to an ASCE for a
          z/Arch RGuest or an STD for an ESA/390 RGuest.
    0010   16 Signed       8 WSDRUTD (0)    RGuest upper-table designation
                                            (UTD), for a z/Arch 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), (regardless of RGuest
                                            mode)
    0018   24 Signed       4 *
    001C   28 Signed       4 WSDSSTOL       Shadow STO and STL combined as in
                                            STD
          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 a z/Arch 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        Shadow page-table designation,
                                            (regardless of RGuest mode)
          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:  *** z/Arch 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 z/Arch 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 |                      WSDGRGDES                        |
    *     +-------------------------------------------------------+
    *  18 |                      WSDGSHDES                        |
    *     +-------------------------------------------------------+
    *  20 |                       WSDMISC                         |
    *     |                                                       |
    *     +-------------+-------------+---------------------------+
    *  30 |  WSDCTATT   |  WSDCTVAL   |         WSDREFID          |
    *     +-------------+-------------+---------------------------+
    *  38 |                      WSDGENTAD                        |
    *     +-------------------------------------------------------+
    *  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 |                       WSDSPTD                         |
    *     +-------------------------------------------------------+
    *  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
    WSDENTLN       0038 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        0018 00000032
    WSDNMST        001C 0000001A
    WSDPTDMK       0018 00FFF800
    WSDRALDS       0014
    WSDRALOL       0014
    WSDRASCE       0020
    WSDRASTE       0014
    WSDRATL        002C
    WSDRATO        0028
    WSDREFID       0034
    WSDRPTD        0010
    WSDRPTOL       0014
    WSDRSTD        0024
    WSDRSTOL       0014
    WSDRUTD        0010
    WSDSALDS       001C
    WSDSALOL       001C
    WSDSASTE       001C
    WSDSHSIZ       0002
    WSDSPTD        0018
    WSDSSTOL       001C
    WSDSUTD        0018
    WSDSZAL        001C 0000002A
    WSDSZALD       001C 0000002A
    WSDSZAST       002C 00000032
    WSDSZPT        0018 00000192
    WSDSZST        001C 000000D2
    WSDTYPE        0000
    WSDUTDMK       0018 00FFF0CF
    WSD3PTMK       0018 00FFFFCF
    WSD3STMK       0018 00FFF07F

    This information is
    based on z/VM V5R2.0.
    Last updated on 12 Apr 2006 at 17:41:07 EDT.

    Copyright IBM Corporation, 1990, 2005