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.
 RELOCATION CONSIDERATIONS : None
 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 WLBALDS Access-list-designation
                                        source
          00000002       WLBAL          2 WLBAL Access list
          00000003       WLBASTE        3 WLBASTE ASN-second-table entry
          00000004       WLBUT          4 WLBUT "Upper" (ie. region or
                                        segment) table
          00000005       WLBPT          5 WLBPT Page table
          00000006       WLBFRAME       6 WLBFRAME 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' WSDFUSED Entry is in use
          .... ...1      WSDFASCC       X'01' WSDFASCC Entry was formed
                                        from an ASCE in an RGuest control
                                        register.
          .... ..1.      WSDFASCA       X'02' WSDFASCA 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 V6R2.0. Last updated on 21 Nov 2011 at 11:33:12 EDT.
Copyright IBM Corporation, 1990, 2011