|
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.
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 V4R3.0.
Last updated on 1 May 2002 at 11:06:55 EDT.
Copyright IBM Corporation, 1990, 2002