
Initialize Multiple Completions
Initialize Multiple Completions
This command enables the controller to return multiple completed commands to the host with a single completion via the Command Response Block, with a single (optional) interrupt.
When commands are completed using this mechanism, the returned IOPB is replaced with a substantially different Multiple Completion Returned Command structure. Please refer to the system interface section of this chapter for details.
Once the host has enabled multiple completions, the controller will still post back individually completed commands, for any of the following conditions:
Only a single command required posting back (the multiple completion mechanism will never be used to post back less than two commands)
The Disable Multiple Completion bit is set in a particular Transmit or Receive IOPB
The IOPB completed with error or exception. Such IOPBs will always be returned from the controller to the host as a single completion.
When posting a group of commands as a multiple completion, the controller will ignore all interrupt related information in the individual IOPBs, including the Interrupt Enable bit in the Command Options word, and the interrupt level and vector, and will use the related fields provided in the Initialize Multiple Completions instead. However, commands returned via the single completion mechanism will always use the interrupt information contained in the individual IOPB.
The Initialize Multiple Completion IOPB must be issued through the Master Command Entry.
Table
Common IOPB Structures
Offst | 15 | 14 |
| 13 | 12 | 11 | 10 |
| 9 |
| 8 |
| 7 | 6 |
| 5 | 4 | 3 | 2 | 1 | 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ||||
0x00 |
|
|
|
|
|
|
|
| Command Code |
|
|
|
|
|
|
|
| ||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |||||
0x01 |
|
|
|
|
|
|
| Command Options |
|
|
|
|
|
|
|
| |||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ||||
0x02 |
|
|
|
|
|
|
|
| Return Status |
|
|
|
|
|
|
|
| ||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ||||||
0x03 |
| Normal Completion Level |
|
|
|
|
|
| Normal Completion Vector |
|
| ||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
| ||||||||
0x04 |
|
| Error Completion Level |
|
|
|
|
|
|
| Error Completion Vector |
|
| ||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
0x05 |
|
|
|
|
|
|
|
|
| Reserved |
|
|
|
|
|
|
|
|
| ||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ||||
0x06 |
|
|
|
|
|
|
|
| Control Flags |
|
|
|
|
|
|
|
| ||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ||||
0x07 |
|
| Group Interrupt Level |
|
|
|
|
|
|
| Group Interrupt Vector |
|
| ||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ||||
0x08 |
|
|
|
|
|
|
| Minimum Group Count |
|
|
|
|
|
|
| ||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ||||||
0x09 |
|
|
|
|
|
|
| Maximum Group Count |
|
|
|
|
|
|
| ||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Command Code
This field must be set to 0x80 to execute the Initialize Multiple Completions command.
93