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

#### QDIO

Prolog

Control Block Contents
QDIO DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### QDIO Prolog

     NAME       : HCPQDIO
     COPYRIGHT -
                  THIS MODULE IS "RESTRICTED MATERIALS OF IBM"
                  5739-A03 (C) COPYRIGHT IBM CORP. - 1999, 2002
                  LICENSED MATERIALS - PROPERTY OF IBM
     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.
     DELETED BY : Deleted by HCPRELST when a QDIO Activate-
                  QDIO-Queues Channel Command terminates.

#### QDIO Control Block Content

#### QDIO DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      QDIO           Queued Direct I/O Control Block
    0000    0 Dbl-Word     8 QDIOLOCK (3)   QDIO Lock Word
    0018   24 Address      4 QDIORDEV       RDEV associated with this queue
    001C   28 Signed       4 QDIOREAS       Failing reason code during QDIO
                                            Queue creation.
    0020   32 Address      4 QDICPQDR       Address of CP's Queue-Description
                                            Record (QDR).
         Following Fields Serialized on Compare and Swap
    0024   36 Address      4 QDIOQERR       Specifies a QIOBK that has an
                                            error to report.
         -----End of Compare and Swap Serialization***************----
         QDIO Queue Information Block
    0028   40 Bitstring    8 QDIGQIB4 (0)   Guest's 64 bit QIB Address
    0028   40 Signed       4 QDIGQIBH       High order 64 bit addr word
    002C   44 Signed       4 QDIGQIB        Guest absolute address of QIB or
                                            low order word 64 bit address
    0030   48 Address      4 QDIHQIB        Host absolute address of QIB
    0034   52 Bitstring    1 QDIOFG1        Storage Access Flag
              .... 1...      QDIOACT        X'08' QDIO Q's have been
                                            activated
              .... .1..      QDIODOFS       X'04' Delete QDIO Queues when
                                            final status is received.
              .... ..1.      QDIOGA64       X'02' All guest absolute
                                            addresses are 64 bit
    0035   53 Bitstring    1 QDIOFG2        Processing Flags
              1... ....      QDIOSYNC       X'80' Synchronous SIGA processing
                                            required. 1 SIGA per primed
                                            buffer
    0036   54 Bitstring    1 *              Reserved for future IBM use
    0037   55 Bitstring    1 QDIOTKEY       QIB Storage Key
              1111 ....      QDIQKEY        X'F0' Storage Key Mask for QIB
         Input / Output QDIO Queues
    0038   56 Bitstring    1 QDIOFMT        QDIO Format Type
              00000000       QDIOFMT0       X'00' Format 0 Queue
              00000001       QDIOFMT1       X'01' Format 1 Queue
              00000002       QDIOFMT2       X'02' Format 2 Queue
    0039   57 Bitstring    1 QDINPCT        Number of Input Queues
    003A   58 Bitstring    1 QDIOUTCT       Number of Output Queues
    003B   59 Bitstring    1 QDIOHWS        Hardware Support Flags
              1... ....      QDISIGAW       X'80' SIGA-w Initiate Write
                                            Supported
              .1.. ....      QDISIGAR       X'40' SIGA-r Initiate Read
                                            Supported
              ..1. ....      QDISIGAS       X'20' SIGA-s Synchronize
                                            Supported
    003C   60 Address      4 QDINPUT        Pointer to a link list of QIOBKs
                                            for all Input Queues
    0040   64 Address      4 QDIOUTQ        Pointer to a link list of QIOBKs
                                            for all Output Queues
    0044   68 Signed       4 QDIOMCAS       Format-2 MultiCast Queue Mask
         Processing Routines
    0048   72 Address      4 QDIOQPRC       Shadow Queue Processor
    004C   76 Signed       4 *              Reserved for future IBM use
    0050   80 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 the PLX
         section and PRINT OFF,NOGEN is in effect.

#### QDIO Storage Layout

    *** QDIO - Queued Direct I/O Control Block
    *
    *     +-------------------------------------------------------+
    *   0 |                                                       |
    *     =                       QDIOLOCK                        =
    *     |                                                       |
    *     +---------------------------+---------------------------+
    *  18 |         QDIORDEV          |         QDIOREAS          |
    *     +---------------------------+---------------------------+
    *  20 |         QDICPQDR          |         QDIOQERR          |
    *     +---------------------------+---------------------------+
    *  28 |         QDIGQIBH          |         QDIGQIB           |
    *     +---------------------------+------+------+------+------+
    *  30 |         QDIHQIB           |:OFG1 |:OFG2 |//////|:OTKEY|
    *     +------+------+------+------+------+------+------+------+
    *  38 |:OFMT |:NPCT |:OUTCT|:OHWS |         QDINPUT           |
    *     +------+------+------+------+---------------------------+
    *  40 |         QDIOUTQ           |         QDIOMCAS          |
    *     +---------------------------+---------------------------+
    *  48 |         QDIOQPRC          |///////////////////////////|
    *     +---------------------------+---------------------------+
    *
    *** QDIO - Queued Direct I/O Control Block

#### QDIO Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    QDI$END        0050
    QDICPQDR       0020
    QDIGQIB        002C
    QDIGQIBH       0028
    QDIGQIB4       0028
    QDIHQIB        0030
    QDINPCT        0039
    QDINPUT        003C
    QDIOACT        0034 08
    QDIODOFS       0034 04
    QDIOFG1        0034
    QDIOFG2        0035
    QDIOFMT        0038
    QDIOFMT0       0038 00000000
    QDIOFMT1       0038 00000001
    QDIOFMT2       0038 00000002
    QDIOGA64       0034 02
    QDIOHWS        003B
    QDIOLOCK       0000
    QDIOMCAS       0044
    QDIOQERR       0024
    QDIOQPRC       0048
    QDIORDEV       0018
    QDIOREAS       001C
    QDIOSYNC       0035 80
    QDIOTKEY       0037
    QDIOUTCT       003A
    QDIOUTQ        0040
    QDIQKEY        0037 F0
    QDISIGAR       003B 40
    QDISIGAS       003B 20
    QDISIGAW       003B 80

This information is based on z/VM V4R3.0. Last updated on 1 May 2002 at 09:51:12 EDT.
Copyright IBM Corporation, 1990, 2002