QDIO Back to Index page
 
Prolog 
Control Block Contents 
   QDIO DSECT
Storage Layout 
Cross Reference (Contains links to field and bit definitions)
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.


  QDIO Prolog Top of page
 
 NAME       : HCPQDIO
 DESCRIPTION: Queued Direct I/O Control Block
 DSECT      : QDIO
 FUNCTION   :
              HCPQDIO maps all the guest's and associated CP shadow
              QDIO Queues for a specific subchannel.
 LOCATED BY : VDEVQDIO
 SERIALIZED : VDEV Lock
 CREATED BY : Dynamically created by HCPGETST when a QDIO
              Queue is created with an Establish-QDIO-
              Queues Channel Command.  This control
              block exists in the system execution
              space, and my be backed anywhere in storage.
 DELETED BY : Deleted by HCPRELST when a QDIO Activate-
              QDIO-Queues Channel Command terminates.
 RELOCATION CONSIDERATIONS : None
 COMMENTS   :
              - Not known by hardware.
              - The following tags are used to described the
              address type for pointers within this control block:
              A : Host absolute address
              R : Host real address
              L : Logical address in the system execution space
              G : Guest absolute address
 
 
  QDIO Control Block Content Top of page
 

 QDIO DSECT Top of page
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure QDIO Queued Direct I/O Control Block QDIO Lock 0000 0 Dbl-Word 8 QDIOLOCK (3) QDIO Lock Word 0018 24 Address 4 QDIORDEV L: address of RDEV associated with this queue. 001C 28 Signed 4 QDIOREAS Failing reason code during QDIO Queue creation. 0020 32 Address 4 QDICPQDR L: Address of CP's Queue-Description Record (QDR) used when issuing Establish-QDIO-Queues CCW. (Fretted after I/O). Following Fields Serialized on Compare and Swap 0024 36 Address 4 QDIOQERR L:Address of a QIOBK that has an error to report -----End of Compare and Swap Serialization***************---- QDIO Queue Information Block 0028 40 Dbl-Word 8 QDIGQIB64 G:Guest absolute ADDR of QIB. 0030 48 Dbl-Word 8 QDIHQIB64 A:Host absolute address of Guest's QIB. (locked) QDIO Storage Access and Queue Flags 0038 56 Bitstring 1 QDIOFG1 Storage Access Flag .... 1... QDIOACT X'08' QDIOACT QDIO Q's have been activated .... .1.. QDIODOFS X'04' QDIODOFS Delete QDIO Queues when final status is received. .... ..1. QDIOGA64 X'02' QDIOGA64 Guest absolute addresses are 64 bit. QDIO Processing Flags 0039 57 Bitstring 1 QDIOFG2 Processing Flags 1... .... QDIOSYNC X'80' QDIOSYNC Synchronous SIGA processing required. 1 SIGA per primed buffer .1.. .... QDIOOPCI X'40' QDIOOPCI Extended OUTPUT PCI supported ..1. .... QDIOQMCU X'20' QDIOQMCU Adapter configured for QDIO Multiple Control Unit Facility ...1 .... QDIOEBSM X'10' QDIOEBSM QEBSM Managed Connection .... 1... QDIODROU X'08' QDIODROU FCP Data Router requested .... .1.. QDICOMPQ X'04' QDICOMPQ Last Input Queue is a Completion Queue 003A 58 Bitstring 1 QDIOPCNT Number of ports per chpid 003B 59 Bitstring 1 QDIOTKEY QIB Storage Key 1111 .... QDIQKEY X'F0' QDIQKEY Storage Key Mask for QIB Input / Output QDIO Queues 003C 60 Bitstring 1 QDIOFMT QDIO Format Type 00000000 QDIOFMT0 X'00' QDIOFMT0 Format 0 Queue 00000001 QDIOFMT1 X'01' QDIOFMT1 Format 1 Queue 00000002 QDIOFMT2 X'02' QDIOFMT2 Format 2 Queue 00000002 QDIOLFMT QDIOFMT2 QDIOLFMT Highest supported Q format 003D 61 Bitstring 1 QDINPCT Number of Input Queues 003E 62 Bitstring 1 QDIOUTCT Number of Output Queues QDIO Hardware Support Flags 003F 63 Bitstring 1 QDIOHWS Hardware Support Flags 1... .... QDISIGAW X'80' QDISIGAW SIGA-w Initiate Write Supported .1.. .... QDISIGAR X'40' QDISIGAR SIGA-r Initiate Read Supported ..1. .... QDISIGAS X'20' QDISIGAS SIGA-s Synchronize Supported QDIO Queue Anchors The following are the anchors for two link lists of QIOBK(s) created when an Establish-QDIO-Queues CCW is issued. The link list is an ordered list with QIONEXT pointing to the next queue. The first queue in the list (the one specified in the anchor) is for queue 0, while the next linked QIOBK pointed by QIONEXT is for queue 1. Up to 32 queues may be linked on each anchor. One anchor is for established input queues and the other is for output queues. 0040 64 Address 4 QDINPUT L:ADDR of first QDIO Input Q 0044 68 Address 4 QDIOUTQ L:ADDR of first QDIO Output Q 0048 72 Signed 4 QDIOMCAS Format-2 MultiCast Queue Mask Processing Routines 004C 76 Address 4 QDIOQPRC L:Shadow Queue Processor Linkage: HCPCALL R15, ATTR=(RES,MP,DYN,LONGREG, AMODE64,TMODEAR) Input/Output: Like HCPVQQSS (Zero for vSwitch) QEBSM Information 0050 80 Dbl-Word 8 QDIQBICB A:QBICB address which is also the QEBSM Subchannel Token 0058 88 Signed 4 QDIOVDEV L:VDEV Block Address Performance Counters Notes : QDIOCSGW, QDIOWCSGR, and QDIOCSGS are treated as an array of counters, and therefore they must remain contiguous in the control block. QDIOCSGW, QDIOWCSGR, and QDIOCSGS are serialized by the VDEV lock and not the QDIO Lock. 005C 92 Bitstring 16 QDIOCTRS (0) --- Start of contiguous area 005C 92 Signed 4 QDIOCSGW Virtual SIGA-w count 0060 96 Signed 4 QDIOCSGR Virtual SIGA-r count 0064 100 Signed 4 QDIOCSGS Virtual SIGA-s count 0068 104 Signed 4 QDIOCSWQ Virtual SIGA-wq count --- End of contiguous area 006C 108 Signed 4 QDICMPLQ L:QIOBK for CP's Completion Queue 0070 112 Signed 4 QDIQSBLK L:QSBLK QDIO Statistics Block 0074 116 Signed 4 QDIASYNC Count of SIGA-wq instructions that were performed asynchronously Completion Queue Information 0078 120 Dbl-Word 8 QDIQAOB The next R:QAOB to be used for SIGA-wq 0080 128 Signed 4 QDIAQCNT Active QAOB count 0084 132 Signed 4 QDISGCC2 Count of SIGA-w / SIGA-wq CC 2 conditions encountered Reserved Space 0088 136 Dbl-Word 8 * (2) Reserved for Future IBM USE 0098 152 Character 1 QDI$END (0) End of Queued Direct I/O CB Notes : The following assembler equates are defined and can be used but do not appear in the control block expansion because they are in the PLX section and PRINT OFF,NOGEN is in effect.
 
 
  QDIO Storage Layout Top of page
 
          
*** QDIO - Queued Direct I/O Control Block
*
*     +-------------------------------------------------------+
*   0 |                                                       |
*     =                       QDIOLOCK                        =
*     |                                                       |
*     +---------------------------+---------------------------+
*  18 |         QDIORDEV          |         QDIOREAS          |
*     +---------------------------+---------------------------+
*  20 |         QDICPQDR          |         QDIOQERR          |
*     +---------------------------+---------------------------+
*  28 |                      QDIGQIB64                        |
*     +-------------------------------------------------------+
*  30 |                      QDIHQIB64                        |
*     +------+------+------+------+------+------+------+------+
*  38 |:OFG1 |:OFG2 |:OPCNT|:OTKEY|:OFMT |:NPCT |:OUTCT|:OHWS |
*     +------+------+------+------+------+------+------+------+
*  40 |         QDINPUT           |         QDIOUTQ           |
*     +---------------------------+---------------------------+
*  48 |         QDIOMCAS          |         QDIOQPRC          |
*     +---------------------------+---------------------------+
*  50 |                       QDIQBICB                        |
*     +---------------------------+---------------------------+
*  58 |         QDIOVDEV          |         QDIOCSGW          |
*     +---------------------------+---------------------------+
*  60 |         QDIOCSGR          |         QDIOCSGS          |
*     +---------------------------+---------------------------+
*  68 |         QDIOCSWQ          |         QDICMPLQ          |
*     +---------------------------+---------------------------+
*  70 |         QDIQSBLK          |         QDIASYNC          |
*     +---------------------------+---------------------------+
*  78 |                       QDIQAOB                         |
*     +---------------------------+---------------------------+
*  80 |         QDIAQCNT          |         QDISGCC2          |
*     +---------------------------+---------------------------+
*  88 |///////////////////////////////////////////////////////|
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*
*** QDIO - Queued Direct I/O Control Block
 
 
  QDIO Cross Reference Top of page
 
 
Symbol         Dspl Value
-------------- ---- -----
QDI$END        0098
QDIAQCNT       0080
QDIASYNC       0074
QDICMPLQ       006C
QDICOMPQ       0039 04
QDICPQDR       0020
QDIGQIB64      0028
QDIHQIB64      0030
QDINPCT        003D
QDINPUT        0040
QDIOACT        0038 08
QDIOCSGR       0060
QDIOCSGS       0064
QDIOCSGW       005C
QDIOCSWQ       0068
QDIOCTRS       005C
QDIODOFS       0038 04
QDIODROU       0039 08
QDIOEBSM       0039 10
QDIOFG1        0038
QDIOFG2        0039
QDIOFMT        003C
QDIOFMT0       003C 00000000
QDIOFMT1       003C 00000001
QDIOFMT2       003C 00000002
QDIOGA64       0038 02
QDIOHWS        003F
QDIOLFMT       003C 00000002
QDIOLOCK       0000
QDIOMCAS       0048
QDIOOPCI       0039 40
QDIOPCNT       003A
QDIOQERR       0024
QDIOQMCU       0039 20
QDIOQPRC       004C
QDIORDEV       0018
QDIOREAS       001C
QDIOSYNC       0039 80
QDIOTKEY       003B
QDIOUTCT       003E
QDIOUTQ        0044
QDIOVDEV       0058
QDIQAOB        0078
QDIQBICB       0050
QDIQKEY        003B F0
QDIQSBLK       0070
QDISGCC2       0084
QDISIGAR       003F 40
QDISIGAS       003F 20
QDISIGAW       003F 80
 
This information is based on z/VM 6.3.0 Last updated on 22 May 2013 at 13:55:23 EDT.
Copyright IBM Corporation, 1990, 2013