|
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 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 V5R3.0.
Last updated on 25 Jun 2007 at 17:58:53 EDT.
Copyright IBM Corporation, 1990, 2007