Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
QDIO
Control Block Contents
QDIO DSECT
Cross Reference (Contains links to field and bit definitions)
QDIO Prolog
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
QDIO DSECT
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 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 12 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 --- End of contiguous area 0068 104 Signed 4 * Reserved for Future IBM USE 006C 108 Signed 4 QDIQSBLK L:QSBLK QDIO Statistics Block for QEBSM manage queues Reserved Space 0070 112 Dbl-Word 8 * (2) Reserved for Future IBM USE 0080 128 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
*** 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 |///////////////////////////| QDIQSBLK | * +---------------------------+---------------------------+ * 70 |///////////////////////////////////////////////////////| * |///////////////////////////////////////////////////////| * +-------------------------------------------------------+ * *** QDIO - Queued Direct I/O Control Block
QDIO Cross Reference
Symbol Dspl Value -------------- ---- ----- QDI$END 0080 QDICPQDR 0020 QDIGQIB64 0028 QDIHQIB64 0030 QDINPCT 003D QDINPUT 0040 QDIOACT 0038 08 QDIOCSGR 0060 QDIOCSGS 0064 QDIOCSGW 005C QDIOCTRS 005C QDIODOFS 0038 04 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 QDIQBICB 0050 QDIQKEY 003B F0 QDIQSBLK 006C QDISIGAR 003F 40 QDISIGAS 003F 20 QDISIGAW 003F 80
Copyright IBM Corporation, 1990, 2011