Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.

EDEV

Prolog  

Control Block Contents  
   EDEV DSECT
   EDEVSIM DSECT
   EDEVPATH DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


EDEV Prolog

 NAME       : HCPEDEV
 DESCRIPTION: EMULATION DEVICE BLOCK
 DSECT      : EDEV
 FUNCTION   : THE EMULATION DEVICE BLOCK CONTAINS ALL OF THE
              INFORMATION NEEDED TO PERFORM I/O TO THE REAL
              DEVICE BEING USED TO EMULATE ANOTHER DEVICE.
              THERE IS ONE EDEV FOR EACH EMULATED DEVICE.
 LOCATED BY : RDEVEDEV  FIELD OF HCPRDEV  (EDEV POINTER)
 CREATED BY : HCPSZPPP
 DELETED BY : HCPSZPDE
 SERIALIZED : Serialized by holding EDEVLOCK

 

EDEV Control Block Content


EDEV DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      EDEV           EMULATION DEVICE BLOCK
0000    0 Bitstring    2 EDEVLEN        Total byte length of object
0002    2 Bitstring    1 EDEVTYPE       Emulation Type
          1... ....      EDEVSCFB       X'80' SCSI with FBA emulation
          .1.. ....      EDEVRMFB       X'40' RAM Disk with FBA emulation
0003    3 Bitstring    1 EDEVFLAG       EDEV flag
          1... ....      EDEVSRCF       X'80' SYSRES EDEV built from
                                        config file
          .1.. ....      EDEVLOAD       X'40' Device has been loaded by
                                        container
0004    4 Bitstring    4 *              Reserved for future IBM use
      SUBCHANNEL INFORMATION BLOCK
0008    8 Bitstring   52 EDEVSCHB       THE SCHIB, AS ARCHITECTED (mapped
                                        by HCPSCHIB COPY)
003C   60 Bitstring    4 *              RESERVED FOR FUTURE USE
      OPERATION REQUEST BLOCK
0040   64 Bitstring   32 EDEVORB        THE ORB, AS ARCHITECTED (mapped
                                        by HCPORBLK COPY)
      INTERRUPT RESPONSE BLOCK
0060   96 Bitstring   96 EDEVIRB        THE IRB, AS ARCHITECTED (mapped
                                        by HCPIRBLK COPY)
      MEASUREMENT BLOCK
00C0  192 Bitstring   64 EDEVMEAS (0)
00C0  192 Bitstring   32 EDEVMBLK       The 32-byte measurement block, as
                                        architected (mapped by HCPSCMBK
                                        COPY)
00C0  192 Bitstring   64 EDEVMBLG       The 64-byte measurement block, as
                                        architected (mapped by HCPSCGBK
                                        COPY)
      SUBCHANNEL CONTROL BLOCK
        THE SUBCHANNEL CONTROL BLOCK USED TO MANAGE THE OPERATION
        OF THE EMULATION DEVICE.  IN COMBINATION WITH THE SCHIB
        AND ORB, THIS STRUCTURE REPRESENTS THE STATE OF THE
        EMULATION DEVICE.
        TOD clock times are taken at various points of channel
        simulation.  They are used to compute the channel
        measurements at the end of an operation.
0100  256 Dbl-Word     8 EDEVSSTM       TOD VALUE WHEN THE START FUNCTION
                                        BEGAN
0108  264 Dbl-Word     8 EDEVSATM       TOD VALUE WHEN THE SUBCHANNEL
                                        WENT ACTIVE
0110  272 Dbl-Word     8 EDEVSCTM       TOD VALUE WHEN THE START FUNCTION
                                        ENDED.
      QDISK BLOCK for managing the emulated FBA device
0118  280 Dbl-Word     8 EDEVQDSK (21)  Imbedded QDISK Block (mapped by
                                        HCPQDISK COPY)
      Work area for channel simulation
01C0  448 Signed       4 EDEVCBLK       Current Block Number
01C4  452 Signed       4 EDEVCOFF       Current Offset within curr block
01C8  456 Dbl-Word     8 EDEVDT64 (0)   Expected addr of contiguous stor
01C8  456 Signed       4 EDEVDT6H       High word of EDEVDT64
01CC  460 Signed       4 EDEVDT6L       Low word of EDEVDT64
01D0  464 Signed       4 EDEVXSV1       Extended save area for chan sim
01D4  468 Address      4 EDEVSAV        Location to save R13 for singly
                                        linked list of SAVBKs
01D8  472 Signed       4 * (8)          Reserved for future use
      Common emulation device information
01F8  504 Address      4 EDEVRDEV       Pointer to RDEV of real device
01FC  508 Address      4 EDEVDSVA       Device Simulation Vector address
0200  512 Address      4 EDEVRAMA       HLA(RAM Disk Origin)
0204  516 Address      4 EDEVPADA       Full page of zeros used for
                                        padding function.
0208  520 Signed       2 EDEVPBLK       Optimum blocking size for
                                        multiple 4K pages for page/spool
                                        writes, in number of pages (e.g,
                                        48K bytes is 12 4K pages, EDVPBLK
                                        should be an even multiple of
                                        decimal 12, x'C')
020A  522 Signed       2 EDEVPLOD       Free storage load required to do
                                        paging I/O writes for a paging
                                        block of pages of size EDVPBLK,
                                        in whole pages (rounded up)
020C  524 Bitstring   12 *              Reserved for future use
      SCSI Stack serialization information
0218  536 Bitstring    1 EDEVSTAT       Request status flags
          1... ....      EDEVABRT       X'80' I/O aborted (suppress
                                        strategy call)
          .1.. ....      EDEVSNS        X'40' Valid sense information
                                        present
          ..1. ....      EDEVURGT       X'20' High priority processing
                                        needed
          .... 1...      EDEVACTV       X'08' HCPSZCOP is active
0219  537 Bitstring    1 *              Reserved for future IBM use
021A  538 Bitstring    1 EDEVACTL       Activity Control (same as
                                        SCHACTL)
021B  539 Bitstring    1 EDEVABND       Last ABEND checkpoint code
021C  540 Signed       4 EDEVCPEA       HLA(CPEBK) to return control from
                                        SCSI stack via IODONE
0220  544 Signed       4 EDEVSCA        Strategy Call Anchor
0224  548 Signed       4 EDEVSCLP       Strategy Call Last Req Pointer
0228  552 Signed       4 EDEVRCNT       Outstanding Request Block Count
                                        (serialized by CS logic)
022C  556 Signed       4 EDEVBLA        Buffered List Anchor (SZREQs)
0230  560 Signed       4 EDEVBLLP       Buffered List Last Pointer
0234  564 Signed       4 EDEVSCNL       Strategy Call Next to Last Req
0238  568 Dbl-Word     8 EDEVLOCK (3)   EDEV lockword
0250  592 Dbl-Word     8 EDEVILCK (3)   EDEV Interrupt lockwork
0268  616 Address      4 EDEVIUSR       VMDBK address under which the
                                        EDEV Interrupt Lock (EDEVILCK)
                                        was obtained. This field is
                                        serialized by EDEVILCK.  
026C  620 Bitstring    4 *              Reserved for future use
0270  624 Bitstring    8 *              Reserved for future use
0278  632 Bitstring    8 *              Reserved for future use
0280  640 Bitstring    8 *              Reserved for future use
0288  648 Bitstring    4 *              Reserved for future use
               The address overlap list is used by the channel
               simulator to detect chained READ CCWs that use the
               same data address.  There is no empirical data to
               determine an optimum size.  However, the QDIO
               support in the SCSI stack is limited to 12 pages
               (48K) of data per transfer.  A well-formed
               channel program doing 2K moves would use at least
               24 CCW data addresses to read 12 pages.  We will
               initially set the table length to hold 52 entries.
               NOTES      : Setting too small a table length may impact
                     performance because it would cause large
                     read requests to be broken into multiple
                     SCSI stack strategy calls.
028C  652 Signed       4 EDEVACNT       Number of entries in EDEVALST
0290  656 Bitstring  832 EDEVALST       Address overlap list used only by
                                        HCPSZC (mult. DWD pairs=16 bytes)
          00000034       EDEVAMAX       (*-EDEVALST)/16 Max DWORD pairs
                                        in EDEVALST
          000005D0       EDEVHDLN       *-EDEV EDEV header length
05D0 1488 Character    1 EDEVDVCF (0)   Start of Device Configuration
      SCSI with FBA emulation specific area
05D0 1488 Bitstring    1 EDEVATTR       Attributes Type
          1... ....      EDEVSCSI       X'80' General SCSI Attributes
          .1.. ....      EDEV2105       X'40' 2105 SCSI Attributes
          ..1. ....      EDEVFAST       X'20' FAStT SCSI Attributes
          .... ..1.      EDEVRAMD       X'02' RAMD SCSI Attributes --
                                        TEST
          .... ...1      EDEVRAMQ       X'01' RAMQ SCSI Attributes --
                                        TEST
05D1 1489 Bitstring    1 EDEVVPM        Valid Path Mask
05D2 1490 Bitstring    1 EDEVSCPM       SID/CHPID source path mask
05D3 1491 Bitstring    1 EDEVPCNT       Count of path triplets
05D4 1492 Bitstring    4 *              Reserved for future IBM use
05D8 1496 Character    8 EDEVATBL       SCSI Disk Attributes Table Name
05E0 1504 Bitstring   16 EDEVDVID       IOSC Device ID (devid)
05F0 1520 Bitstring   16 EDEVDVRF       IOSC handle for device (devref)
0600 1536 Bitstring  192 EDEVPTHS       Area to hold up to 8 Path
                                        triplets
06C0 1728 Bitstring    8 *              Reserved for future use
06C8 1736 Bitstring    8 *              Reserved for future use
06D0 1744 Bitstring    8 *              Reserved for future use
06D8 1752 Bitstring    8 *              Reserved for future use
     ***     FBA SCSI specific values for EDEVPBLK, EDEVPLOD
          00000018       EDEVSCPB       24 EDEVPBLK value for SCSI - 24
                                        pages is two full 48K (=12 pages)
                                        SZREQ request blocks
          00000078       EDEVSCPL       EDEVSCPB*5 EDEVPLOD value for
                                        SCSI - size of optimal paging
                                        block times (assumed) number of
                                        free storage pages consumed by
                                        SCSI per pageable page
                                        written/read
          000006E0       EDEVSCZB       *-EDEV SCSI EDEV byte size
          000000DC       EDEVSCZD       (*-EDEV+7)/8 SCSI EDEV doubleword
                                        size
      Emulation Device Simulation Vector

EDEVSIM DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      EDEVSIM        EMULATION DEVICE BLOCK
0000    0 Address      4 EDEVSIMA       ADDR OF CHANNEL CMD SIMULATOR
0004    4 Address      4 EDEVIOCS       CLEAR SUBCHANNEL
0008    8 Address      4 EDEVIOHS       HALT SUBCHANNEL
000C   12 Address      4 EDEVIOMS       MODIFY SUBCHANNEL
0010   16 Address      4 EDEVIORS       RESUME SUBCHANNEL
0014   20 Address      4 EDEVIOSS       START SUBCHANNEL
0018   24 Address      4 EDEVIOST       STORE SUBCHANNEL
001C   28 Address      4 EDEVIOTS       TEST SUBCHANNEL
0020   32 Address      4 EDEVIOXS       CANCEL SUBCHANNEL
      SCSI Path Triplet DSECT

EDEVPATH DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      EDEVPATH       EMULATION DEVICE BLOCK
0000    0 Bitstring    2 *              Reserved for IBM use
0002    2 Bitstring    2 EDEVFCP        FCP Device Number
0004    4 Bitstring    4 EDEVFCPR       FCP Device RDEV address
0008    8 Bitstring    8 EDEVWWPN       World Wide Port Number (WWPN)
0010   16 Bitstring    8 EDEVLUN        Logical Unit Number (LUN)
          00000018       EDEVPTSZ       *-EDEVPATH Size of path triplet
                                        in bytes
      ABEND checkpoint codes (0-255)
      HCPSZC checkpoint codes (1-20)
          00000001       EDEVID1        1
          00000002       EDEVID2        2
          00000003       EDEVID3        3
          00000004       EDEVID4        4
          00000005       EDEVID5        5
          00000006       EDEVID6        6
          00000007       EDEVID7        7
          00000008       EDEVID8        8
          00000009       EDEVID9        9
          0000000A       EDEVID10       10
          0000000B       EDEVID11       11
          0000000C       EDEVID12       12
          0000000D       EDEVID13       13
          0000000E       EDEVID14       14
          0000000F       EDEVID15       15
          00000010       EDEVID16       16
          00000011       EDEVID17       17
          00000012       EDEVID18       18
          00000013       EDEVID19       19
      HCPSZA checkpoint codes (21-40)
          00000015       EDEVID21       21
          00000016       EDEVID22       22
          00000017       EDEVID23       23
          00000018       EDEVID24       24
          00000019       EDEVID25       25
          0000001A       EDEVID26       26
          0000001B       EDEVID27       27
          0000001C       EDEVID28       28
          0000001D       EDEVID29       29
          0000001E       EDEVID30       30
      HCPSZI checkpoint codes (41-60)
          00000029       EDEVID41       41
          0000002A       EDEVID42       42
          0000002B       EDEVID43       43
          0000002C       EDEVID44       44
          0000002D       EDEVID45       45
          0000002E       EDEVID46       46
          0000002F       EDEVID47       47
          00000030       EDEVID48       48
          00000031       EDEVID49       49
      HCPSZS checkpoint codes (61-80)
          0000003D       EDEVID61       61
          0000003E       EDEVID62       62
          0000003F       EDEVID63       63
          00000040       EDEVID64       64
          00000041       EDEVID65       65

 

EDEV Storage Layout

          
*** EDEV - EMULATION DEVICE BLOCK
*
*     +-------------+------+------+---------------------------+
*   0 |  EDEVLEN    |:VTYPE|:VFLAG|///////////////////////////|
*     +-------------+------+------+---------------------------+
*   8 |                                                       |
*     =                       EDEVSCHB                        =
*     |                           +---------------------------+
*  38 |                           |///////////////////////////|
*     +---------------------------+---------------------------+
*  40 |                                                       |
*     =                       EDEVORB                         =
*     |                                                       |
*     +-------------------------------------------------------+
*  60 |                                                       |
*     =                       EDEVIRB                         =
*     |                                                       |
*     +-------------------------------------------------------+
*
*** EDEV - EMULATION DEVICE BLOCK
          
*** Overlay for EDEVMEAS in EDEV
*
*     +-------------------------------------------------------+
*  C0 |                                                       |
*     =                       EDEVMBLK                        =
*     |                                                       |
*     +-------------------------------------------------------+
*  E0
*
*** Overlay for EDEVMEAS in EDEV
          
*** Overlay for EDEVMEAS in EDEV
*
*     +-------------------------------------------------------+
*  C0 |                                                       |
*     =                       EDEVMBLG                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 100 |                       EDEVSSTM                        |
*     +-------------------------------------------------------+
* 108 |                       EDEVSATM                        |
*     +-------------------------------------------------------+
* 110 |                       EDEVSCTM                        |
*     +-------------------------------------------------------+
* 118 |                                                       |
*     =                       EDEVQDSK                        =
*     |                                                       |
*     +---------------------------+---------------------------+
* 1C0 |         EDEVCBLK          |         EDEVCOFF          |
*     +---------------------------+---------------------------+
* 1C8 |         EDEVDT6H          |         EDEVDT6L          |
*     +---------------------------+---------------------------+
* 1D0 |         EDEVXSV1          |         EDEVSAV           |
*     +---------------------------+---------------------------+
* 1D8 |///////////////////////////////////////////////////////|
*     =///////////////////////////////////////////////////////=
*     |///////////////////////////////////////////////////////|
*     +---------------------------+---------------------------+
* 1F8 |         EDEVRDEV          |         EDEVDSVA          |
*     +---------------------------+---------------------------+
* 200 |         EDEVRAMA          |         EDEVPADA          |
*     +-------------+-------------+---------------------------+
* 208 |  EDEVPBLK   |  EDEVPLOD   |///////////////////////////|
*     +-------------+-------------+///////////////////////////|
*     |///////////////////////////////////////////////////////|
*     +------+------+------+------+---------------------------+
* 218 |:VSTAT|//////|:VACTL|:VABND|         EDEVCPEA          |
*     +------+------+------+------+---------------------------+
* 220 |         EDEVSCA           |         EDEVSCLP          |
*     +---------------------------+---------------------------+
* 228 |         EDEVRCNT          |         EDEVBLA           |
*     +---------------------------+---------------------------+
* 230 |         EDEVBLLP          |         EDEVSCNL          |
*     +---------------------------+---------------------------+
* 238 |                                                       |
*     =                       EDEVLOCK                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 250 |                                                       |
*     =                       EDEVILCK                        =
*     |                                                       |
*     +---------------------------+---------------------------+
* 268 |         EDEVIUSR          |///////////////////////////|
*     +---------------------------+---------------------------+
* 270 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 278 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 280 |///////////////////////////////////////////////////////|
*     +---------------------------+---------------------------+
* 288 |///////////////////////////|         EDEVACNT          |
*     +---------------------------+---------------------------+
* 290 |                                                       |
*     =                       EDEVALST                        =
*     |                                                       |
*     +-------------------------------------------------------+
*
*** Overlay for EDEVMEAS in EDEV
          
*** Overlay for EDEVDVCF in EDEV
*
*     +------+------+------+------+---------------------------+
* 5D0 |:VATTR|:VVPM |:VSCPM|:VPCNT|///////////////////////////|
*     +------+------+------+------+---------------------------+
* 5D8 |                       EDEVATBL                        |
*     +-------------------------------------------------------+
* 5E0 |                       EDEVDVID                        |
*     |                                                       |
*     +-------------------------------------------------------+
* 5F0 |                       EDEVDVRF                        |
*     |                                                       |
*     +-------------------------------------------------------+
* 600 |                                                       |
*     =                       EDEVPTHS                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 6C0 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 6C8 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 6D0 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 6D8 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 6E0
*
*** Overlay for EDEVDVCF in EDEV
          
*** EDEVSIM - EMULATION DEVICE BLOCK
*
*     +---------------------------+---------------------------+
*   0 |         EDEVSIMA          |         EDEVIOCS          |
*     +---------------------------+---------------------------+
*   8 |         EDEVIOHS          |         EDEVIOMS          |
*     +---------------------------+---------------------------+
*  10 |         EDEVIORS          |         EDEVIOSS          |
*     +---------------------------+---------------------------+
*  18 |         EDEVIOST          |         EDEVIOTS          |
*     +---------------------------+---------------------------+
*  20 |         EDEVIOXS          | 24
*     +---------------------------+
*
*** EDEVSIM - EMULATION DEVICE BLOCK
          
*** EDEVPATH - EMULATION DEVICE BLOCK
*
*     +-------------+-------------+---------------------------+
*   0 |/////////////|  EDEVFCP    |         EDEVFCPR          |
*     +-------------+-------------+---------------------------+
*   8 |                       EDEVWWPN                        |
*     +-------------------------------------------------------+
*  10 |                       EDEVLUN                         |
*     +-------------------------------------------------------+
*  18
*
*** EDEVPATH - EMULATION DEVICE BLOCK

 

EDEV Cross Reference

Symbol         Dspl Value
-------------- ---- -----
EDEVABND       021B
EDEVABRT       0218 80
EDEVACNT       028C
EDEVACTL       021A
EDEVACTV       0218 08
EDEVALST       0290
EDEVAMAX       0290 00000034
EDEVATBL       05D8
EDEVATTR       05D0
EDEVBLA        022C
EDEVBLLP       0230
EDEVCBLK       01C0
EDEVCOFF       01C4
EDEVCPEA       021C
EDEVDSVA       01FC
EDEVDT6H       01C8
EDEVDT6L       01CC
EDEVDT64       01C8
EDEVDVCF       05D0
EDEVDVID       05E0
EDEVDVRF       05F0
EDEVFAST       05D0 20
EDEVFCP        0002
EDEVFCPR       0004
EDEVFLAG       0003
EDEVHDLN       0290 000005D0
EDEVID1        0010 00000001
EDEVID10       0010 0000000A
EDEVID11       0010 0000000B
EDEVID12       0010 0000000C
EDEVID13       0010 0000000D
EDEVID14       0010 0000000E
EDEVID15       0010 0000000F
EDEVID16       0010 00000010
EDEVID17       0010 00000011
EDEVID18       0010 00000012
EDEVID19       0010 00000013
EDEVID2        0010 00000002
EDEVID21       0010 00000015
EDEVID22       0010 00000016
EDEVID23       0010 00000017
EDEVID24       0010 00000018
EDEVID25       0010 00000019
EDEVID26       0010 0000001A
EDEVID27       0010 0000001B
EDEVID28       0010 0000001C
EDEVID29       0010 0000001D
EDEVID3        0010 00000003
EDEVID30       0010 0000001E
EDEVID4        0010 00000004
EDEVID41       0010 00000029
EDEVID42       0010 0000002A
EDEVID43       0010 0000002B
EDEVID44       0010 0000002C
EDEVID45       0010 0000002D
EDEVID46       0010 0000002E
EDEVID47       0010 0000002F
EDEVID48       0010 00000030
EDEVID49       0010 00000031
EDEVID5        0010 00000005
EDEVID6        0010 00000006
EDEVID61       0010 0000003D
EDEVID62       0010 0000003E
EDEVID63       0010 0000003F
EDEVID64       0010 00000040
EDEVID65       0010 00000041
EDEVID7        0010 00000007
EDEVID8        0010 00000008
EDEVID9        0010 00000009
EDEVILCK       0250
EDEVIOCS       0004
EDEVIOHS       0008
EDEVIOMS       000C
EDEVIORS       0010
EDEVIOSS       0014
EDEVIOST       0018
EDEVIOTS       001C
EDEVIOXS       0020
EDEVIRB        0060
EDEVIUSR       0268
EDEVLEN        0000
EDEVLOAD       0003 40
EDEVLOCK       0238
EDEVLUN        0010
EDEVMBLG       00C0
EDEVMBLK       00C0
EDEVMEAS       00C0
EDEVORB        0040
EDEVPADA       0204
EDEVPBLK       0208
EDEVPCNT       05D3
EDEVPLOD       020A
EDEVPTHS       0600
EDEVPTSZ       0010 00000018
EDEVQDSK       0118
EDEVRAMA       0200
EDEVRAMD       05D0 02
EDEVRAMQ       05D0 01
EDEVRCNT       0228
EDEVRDEV       01F8
EDEVRMFB       0002 40
EDEVSATM       0108
EDEVSAV        01D4
EDEVSCA        0220
EDEVSCFB       0002 80
EDEVSCHB       0008
EDEVSCLP       0224
EDEVSCNL       0234
EDEVSCPB       06D8 00000018
EDEVSCPL       06D8 00000078
EDEVSCPM       05D2
EDEVSCSI       05D0 80
EDEVSCTM       0110
EDEVSCZB       06D8 000006E0
EDEVSCZD       06D8 000000DC
EDEVSIMA       0000
EDEVSNS        0218 40
EDEVSRCF       0003 80
EDEVSSTM       0100
EDEVSTAT       0218
EDEVTYPE       0002
EDEVURGT       0218 20
EDEVVPM        05D1
EDEVWWPN       0008
EDEVXSV1       01D0
EDEV2105       05D0 40

This information is based on z/VM V5R1.0. Last updated on 16 Sep 2004 at 11:06:45 EDT.
Copyright IBM Corporation, 1990, 2004