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 * Reserved for future IBM use. 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). 0024 36 Signed 4 * Reserved for future IBM use. 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. .... ...1 QDIOVSWC X'01' QDIOVSWC CP VSWITCH usage QDIO block 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 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 (IRC and SQCA also) key 1111 .... QDIQKEY X'F0' QDIQKEY Storage Key Mask 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 00000003 QDIOFMT3 X'03' QDIOFMT3 Format 3 Queue 00000008 QDIOFMT8 X'08' QDIOFMT8 Format 8 Queue 00000009 QDIOFMT9 X'09' QDIOFMT9 Format 9 Queue 00000008 QDIOLFMT QDIOFMT8 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 * Reserved for Future IBM Use 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 System Queue Control Area (SQCA) The SQCA consists of up to two paged aligned 4K-pages within zVM Memory. In a z/VM environment the SQCA allocated in guest memory is never used of referenced. The first page SQCA1 contains CP Queue Index Controls for queues 0 to 15, while the second 4K-page SQCA2 contains the controls for queue numbers 16 to 31. Only SQCA1 is reqiredby the system when there is no intention by the guest to define queue numbers greater than 15 for the interface. Each queue's CP Queue Index Controls (an SCQA Entry) begins on a 256-byte boundary with a length of 256-bytes. This area is used by both the system and adapter to control a QDIO+ data transfer. 0088 136 Dbl-Word 8 QDISQCA1 A:ADR of Guest's SQCA1 0090 144 Dbl-Word 8 QDISQCA2 A:ADR of Guest's SQCA2 Interrupt Reduction Control Area (IRC) 0098 152 Dbl-Word 8 QDIGIRC64 G:Guest absolute ADDR of IRC. 00A0 160 Dbl-Word 8 QDIHIRC64 A:Host absolute address of Guest's IRC. (locked) Error Reporting Fields For QDIO+ these fields are serialized by QDIESEMP using TEST and SET logic For QDIO these fields are serialized by QDIOQERR using COMPARE and SWAP Logic. 00A8 168 Signed 4 QDIOREAS Failing reason code during queue creation (used by QDIO & QDIO+) QDIOQERR is updated using Compare and Swap Serialization 00AC 172 Address 4 QDIOQERR L:Address of a QIOBK that has an error to report (used by QDIO and QDIO+) 00B0 176 Dbl-Word 8 QDIGFADR G:Failing Guest Absolute address (used by QDIO+ only) Enhanced QDIO (QDIO+) Error Report Word 00B8 184 Signed 4 QDIERRTR (0) Trace for QDIO Error 00B8 184 Signed 2 QDIERW (0) QDIO+ Error Word 00B8 184 Bitstring 1 QDIERW2 QDIO+ Error Flags Byte 2 ..1. .... CSWQAOB X'20' CSWQAOB QDIO QAOB Error ...1 .... CSWHOSTC X'10' CSWHOSTC Host-Control Error .... 1... CSWAIFER X'08' CSWAIFER Adapter-Indicator Error .... .1.. CSWQIB X'04' CSWQIB QDIO Queue Information Block Error .... ..1. CSWSL X'02' CSWSL QDIO Storage List Error .... ...1 CSWSLIB X'01' CSWSLIB QDIO Storage List INFO Block Error Enhanced QDIO Facility ERW .1.. .... CSWESQCA X'40' CSWESQCA QDIO+ SQCA Error ..1. .... CSWEHOSC X'20' CSWEHOSC QDIO+ Host-Control Error ...1 .... CSWEAIFE X'10' CSWEAIFE QDIO+ Adapter-Indicator Error .... 1... CSWEQIB X'08' CSWEQIB QDIO+ Queue Information Block Error .... .1.. CSWEIRC X'04' CSWEIRC QDIO+ Interrupt Reduction Controls .... ..1. CSWEQFTB X'02' CSWEQFTB QDIO+ Queue Foramt Info Block Error .... ...1 CSWESBT X'01' CSWESBT QDIO+ Storage Block Table Error 00B9 185 Bitstring 1 QDIERW3 QDIO+ Error Flags Byte 3 1... .... CSWSLSB X'80' CSWSLSB QDIO Storage List Status Block Error .1.. .... CSWSBAL X'40' CSWSBAL QDIO Storage Block Address List Error ..1. .... CSWSB X'20' CSWSB QDIO I/O Buffer Error ...1 .... CSWQSC X'10' CSWQSC QDIO Queue Storage Check .... 1... CSWQKC X'08' CSWQKC QDIO Queue Key Check .... .1.. CSWQKM X'04' CSWQKM QDIO Queue Key Mismatch .... ..1. CSWQINV X'02' CSWQINV QDIO Invalid Queue Component .... ...1 CSWQINVA X'01' CSWQINVA QDIO Invalid Queue Component Address Enhanced QDIO Facility ERW 1... .... CSWESBL X'80' CSWESBL QDIO+ Storage Block List Error .1.. .... CSWESBP X'40' CSWESBP QDIO+ Storage Block Page Error ..1. .... CSWESBPE X'20' CSWESBPE QDIO+ Storage Block Page Entry/SB ERR ...1 .... CSWEQSC X'10' CSWEQSC QDIO+ Queue Storage Check .... 1... CSWERSV1 X'08' CSWERSV1 QDIO+ Reserved for Future IBM Use .... .1.. CSWEQKM X'04' CSWEQKM QDIO+ Queue Key Mismatch .... ..1. CSWEQINV X'02' CSWEQINV QDIO+ Invalid Queue Component .... ...1 CSWEQIAD X'01' CSWEQIAD QDIO+ Invalid Queue Component Address 00BA 186 Bitstring 1 QDIERTYP Type of Error 111. .... QDIERROR X'E0' QDIERROR Mask for all error types 1... .... QDICCCHK X'80' QDICCCHK Force a Channel Control Check .1.. .... QDIPGMCK X'40' QDIPGMCK Force a Channel Program Check ..1. .... QDIKEYCK X'20' QDIKEYCK Force a Protection Check 00BB 187 Bitstring 1 QDIESEMP Error Semaphor 00BC 188 Bitstring 4 * Reserved for Future IBM Use -----End of Error Reporting Fields***************----------- Enhanced QDIO (eQDIO) STAI ADP indices page pointer 00C0 192 Dbl-Word 8 QDISTAI Holds 256 bytes for STAI shadow queue work. 00C8 200 Bitstring 1 QDISTAILKi Lock for STAI input memory area 00C9 201 Bitstring 1 QDISTAILKo Lock for STAI outpt memory area Reserved Space 00CA 202 Bitstring 2 * Reserved for future IBM use 00CC 204 Signed 4 QDICSTAI Count of host issued STAIs for this QDIO's input queues 00D0 208 Signed 4 QDICSTAO Count of host issued STAIs for this QDIO's output queues 00D4 212 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          |///////////////////////////|
*     +---------------------------+---------------------------+
*  20 |         QDICPQDR          |///////////////////////////|
*     +---------------------------+---------------------------+
*  28 |                      QDIGQIB64                        |
*     +-------------------------------------------------------+
*  30 |                      QDIHQIB64                        |
*     +------+------+------+------+------+------+------+------+
*  38 |:OFG1 |:OFG2 |:OPCNT|:OTKEY|:OFMT |:NPCT |:OUTCT|:OHWS |
*     +------+------+------+------+------+------+------+------+
*  40 |         QDINPUT           |         QDIOUTQ           |
*     +---------------------------+---------------------------+
*  48 |         QDIOMCAS          |         QDIOQPRC          |
*     +---------------------------+---------------------------+
*  50 |///////////////////////////////////////////////////////|
*     +---------------------------+---------------------------+
*  58 |         QDIOVDEV          |         QDIOCSGW          |
*     +---------------------------+---------------------------+
*  60 |         QDIOCSGR          |         QDIOCSGS          |
*     +---------------------------+---------------------------+
*  68 |         QDIOCSWQ          |         QDICMPLQ          |
*     +---------------------------+---------------------------+
*  70 |         QDIQSBLK          |         QDIASYNC          |
*     +---------------------------+---------------------------+
*  78 |                       QDIQAOB                         |
*     +---------------------------+---------------------------+
*  80 |         QDIAQCNT          |         QDISGCC2          |
*     +---------------------------+---------------------------+
*  88 |                       QDISQCA1                        |
*     +-------------------------------------------------------+
*  90 |                       QDISQCA2                        |
*     +-------------------------------------------------------+
*  98 |                      QDIGIRC64                        |
*     +-------------------------------------------------------+
*  A0 |                      QDIHIRC64                        |
*     +---------------------------+---------------------------+
*  A8 |         QDIOREAS          |         QDIOQERR          |
*     +---------------------------+---------------------------+
*  B0 |                       QDIGFADR                        |
*     +------+------+------+------+---------------------------+
*  B8 |:ERW2 |:ERW3 |:ERTYP|:ESEMP|///////////////////////////|
*     +------+------+------+------+---------------------------+
*  C0 |                       QDISTAI                         |
*     +------+------+-------------+---------------------------+
*  C8 |(0C8) |(0C9) |/////////////|         QDICSTAI          |
*     +------+------+-------------+---------------------------+
*  D0 |         QDICSTAO          |
*     +---------------------------+
*
*** QDIO - Queued Direct I/O Control Block
 
 
  QDIO Cross Reference Top of page
 
 
Symbol         Dspl Value
-------------- ---- -----
CSWAIFER       00B8 08
CSWEAIFE       00B8 10
CSWEHOSC       00B8 20
CSWEIRC        00B8 04
CSWEQFTB       00B8 02
CSWEQIAD       00B9 01
CSWEQIB        00B8 08
CSWEQINV       00B9 02
CSWEQKM        00B9 04
CSWEQSC        00B9 10
CSWERSV1       00B9 08
CSWESBL        00B9 80
CSWESBP        00B9 40
CSWESBPE       00B9 20
CSWESBT        00B8 01
CSWESQCA       00B8 40
CSWHOSTC       00B8 10
CSWQAOB        00B8 20
CSWQIB         00B8 04
CSWQINV        00B9 02
CSWQINVA       00B9 01
CSWQKC         00B9 08
CSWQKM         00B9 04
CSWQSC         00B9 10
CSWSB          00B9 20
CSWSBAL        00B9 40
CSWSL          00B8 02
CSWSLIB        00B8 01
CSWSLSB        00B9 80
QDI$END        00D4
QDIAQCNT       0080
QDIASYNC       0074
QDICCCHK       00BA 80
QDICMPLQ       006C
QDICOMPQ       0039 04
QDICPQDR       0020
QDICSTAI       00CC
QDICSTAO       00D0
QDIERROR       00BA E0
QDIERRTR       00B8
QDIERTYP       00BA
QDIERW         00B8
QDIERW2        00B8
QDIERW3        00B9
QDIESEMP       00BB
QDIGFADR       00B0
QDIGIRC64      0098
QDIGQIB64      0028
QDIHIRC64      00A0
QDIHQIB64      0030
QDIKEYCK       00BA 20
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
QDIOFMT3       003C 00000003
QDIOFMT8       003C 00000008
QDIOFMT9       003C 00000009
QDIOGA64       0038 02
QDIOHWS        003F
QDIOLFMT       003C 00000008
QDIOLOCK       0000
QDIOMCAS       0048
QDIOOPCI       0039 40
QDIOPCNT       003A
QDIOQERR       00AC
QDIOQMCU       0039 20
QDIOQPRC       004C
QDIORDEV       0018
QDIOREAS       00A8
QDIOSYNC       0039 80
QDIOTKEY       003B
QDIOUTCT       003E
QDIOUTQ        0044
QDIOVDEV       0058
QDIOVSWC       0038 01
QDIPGMCK       00BA 40
QDIQAOB        0078
QDIQKEY        003B F0
QDIQSBLK       0070
QDISGCC2       0084
QDISIGAR       003F 40
QDISIGAS       003F 20
QDISIGAW       003F 80
QDISQCA1       0088
QDISQCA2       0090
QDISTAI        00C0
QDISTAILKi     00C8
QDISTAILKo     00C9
 
This information is based on z/VM 7.5.0 Last updated on 22 Jun 2026 at 11:15:07 EDT.
Copyright IBM Corporation, 1990, 2026