NVMe: Difference between revisions
Jump to navigation
Jump to search
[unchecked revision] | [unchecked revision] |
Content deleted Content added
No edit summary |
m Edit order |
||
Line 168: | Line 168: | ||
=== Admin commands === |
=== Admin commands === |
||
==== Create IO |
==== Create IO submission queue ==== |
||
* Opcode is |
* Opcode is 0x01. |
||
* The base address of the queue should be put in the DWORDs 6 and 7 of the commands. |
* The base address of the queue should be put in the DWORDs 6 and 7 of the commands. |
||
* Command DWORD 10 contains the queue identifier in the low word, and the queue size in the high word. The queue size should be given as one less than the actual value. |
* Command DWORD 10 contains the queue identifier in the low word, and the queue size in the high word. The queue size should be given as one less than the actual value. |
||
* Command DWORD 11 contains flags in the low word, and the |
* Command DWORD 11 contains flags in the low word, and the completion queue identifier in the high word (where completion entries for this submission queue will be posted). Flag (1 << 0) indicates the queue is physically contiguous (recommended; non-contiguous are not supported by all controllers). |
||
==== Create IO |
==== Create IO completion queue ==== |
||
* Opcode is |
* Opcode is 0x05. |
||
* The base address of the queue should be put in the DWORDs 6 and 7 of the commands. |
* The base address of the queue should be put in the DWORDs 6 and 7 of the commands. |
||
* Command DWORD 10 contains the queue identifier in the low word, and the queue size in the high word. The queue size should be given as one less than the actual value. |
* Command DWORD 10 contains the queue identifier in the low word, and the queue size in the high word. The queue size should be given as one less than the actual value. |
||
* Command DWORD 11 contains flags in the low word, and the |
* Command DWORD 11 contains flags in the low word, and the interrupt vector in the high word. Flag (1 << 0) indicates the queue is physically contiguous (recommended; non-contiguous are not supported by all controllers), and flag (1 << 1) enables interrupts. |
||
==== Identify ==== |
==== Identify ==== |