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 completion queue ====
==== Create IO submission queue ====


* Opcode is 0x05.
* 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 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.
* 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 submission queue ====
==== Create IO completion queue ====


* Opcode is 0x01.
* 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 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).
* 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 ====