| |
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.
| |