4.1.1.2 Queue Diversion Register (0x00000008)
The Queue Diversion Register (Figure 4-2) is used to transfer the contents of one queue onto another queue. It is not possible to divert queues from one QM to another (in the case of KeyStone II). Also, queue diversion is atomic, meaning that if two diversion requests arrive nearly simultaneously, the QM will complete the first one before starting on the next.
Figure 4-2 Queue Diversion Register (0x00000008)
HEAD_TAIL |
Reserved |
DEST_QNUM |
Reserved |
SOURCE_QNUM |
Legend: R = Read only; W = Write only; - n = value after reset |
Table 4-3 Queue Diversion Register Field Descriptions
Bit |
Field |
Description |
31 |
HEAD_TAIL |
Indicates whether queue contents should be merged on to head or tail of destination queue. Clear this field for tail and set for head. |
30 |
Reserved |
Reads return 0 and writes have no effect |
29-16 |
DEST_QNUM |
Destination queue number. Must be relative to the QM, so it will be in the range of 0 to 8191 even for QM2. |
15-14 |
Reserved |
Reads return 0 and writes have no effect |
13-0 |
SOURCE_QNUM |
Source queue number. Must be relative to the QM, so it will be in the range of 0 to 8191 even for QM2. |