Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
EDEV
Control Block Contents
EDEV DSECT
EDEVSIM DSECT
EDEVPATH DSECT
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