IOCM | Back to Index page

| Prolog Control Block Contents IOCM 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.

IOCM Prolog | Top of page

     NAME       : HCPIOCM
     DESCRIPTION: I/O Completion Block
     DSECT      : IOCM
     FUNCTION   : Describes the completion of an I/O request.
     LOCATED BY : Pointer (VDEVAEVT) in the Virtual Device Block
                  Pointer (VDEVREVT) in the Virtual Device Block
                  Pointer (RDEVUSLP) in the Real Device Block
     RELOCATION CONSIDERATIONS : This control block is relocated as part of a live
                  guest relocation (LGR).  The bits and fields that
                  need to be relocated are defined in the
                  corresponding LGRIOCM COPY file.  Whenever changes
                  are made to this control block, consideration must
                  be given to any effects these changes will have on
                  a relocation.  If any new fields or bits are
                  defined, they may need to be relocated.  If
                  existing bits or fields are changed, corresponding
                  modifications may be required in the LGR version of
                  this control block.  Consider also the effects of
                  these changes on a relocation involving a back-level
                  release of CP.
     NOTES      : Modules including this Control Block, must also
                  include HCPIRBLK.
     CREATED BY : HCPAMR   - Message Read Task
                  HCPSVIAP - Reflect message to VDEV
                  HCPTERQS - Build IOCM for unsolicited unit check and queue
                  it on RDEVUSLQ
     DELETED BY : HCPAEPPD - Purge all outstanding AEBK, AMSG and IOCM blocks
                  for the Virtual Device.
                  HCPAMR   - Message Read Task - only purges IOCMs on
                  RDEVUSLP

IOCM Control Block Content | Top of page

     IOCM DSECT
    Top of page

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      IOCM           I/O Completion Block
    0000    0 Address      4 IOCMNEXT       Pointer to the next IOCM Block
                                            NOTE: Field must be at same
                                            offset as 'AMSGNEXT'
    0004    4 Character    4 IOCMBKID       Identifies storage area as an
                                            IOCM. NOTE: Field must be at same
                                            offset as 'AMSGBKID'
    0008    8 Signed       2 IOCMSCNT       Sense data count
    000A   10 Bitstring    1 IOCMFLAG       Status flag
    000B   11 Character    9 *              Reserved
    0014   20 Character   32 IOCMSNS        Sense data. Mapped by HCPSNSBK.
    0034   52 Bitstring   64 IOCMIRB        Interruption Response Block.
                                            Mapped by HCPIRBLK
           Code for determining IOCM size in Doublewords.
              0000000F       IOCMSIZE       ((*-IOCM)+7)/8 IOCM size in
                                            Double-words.
           Code for Testing/Setting IOCMBKID
              00D6C3D4       IOCMID         C'IOCM' Used to set block
                                            identifier
           Code for Testing/Setting IOCMFLAG
              1... ....      IOCMNBST       X'80' No broadcast message
                                            indicator

IOCM Storage Layout | Top of page

    *** IOCM - I/O Completion Block
    *
    *     +---------------------------+---------------------------+
    *   0 |         IOCMNEXT          |         IOCMBKID          |
    *     +-------------+------+------+---------------------------+
    *   8 |  IOCMSCNT   |:MFLAG|//////////////////////////////////|
    *     +-------------+------+//////+---------------------------+
    *     |///////////////////////////|                           |
    *     +---------------------------+                           |
    *  18 |                                                       |
    *     =                       IOCMSNS                         =
    *     |                           +---------------------------+
    *     |                           |                           |
    *     +---------------------------+                           |
    *  38 |                                                       |
    *     =                       IOCMIRB                         =
    *     |                           +---------------------------+
    *     |                           | 74
    *     +---------------------------+
    *
    *** IOCM - I/O Completion Block

IOCM Cross Reference | Top of page

    Symbol         Dspl Value
    -------------- ---- -----
    IOCMBKID       0004
    IOCMFLAG       000A
    IOCMID         0034 00D6C3D4
    IOCMIRB        0034
    IOCMNBST       0034 80
    IOCMNEXT       0000
    IOCMSCNT       0008
    IOCMSIZE       0034 0000000F
    IOCMSNS        0014

This information is based on z/VM 7.2.0 Last updated on 24 Jun 2020 at 09:28:34 EDT.
Copyright IBM Corporation, 1990, 2020