Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
WSDIRECT
Control Block Contents
WSDIRECT DSECT
WSDIRENT DSECT
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
Copyright IBM Corporation, 1990, 2011