class Queue

Defined at line 20 of file ../../src/devices/block/drivers/nvme/queue.h

Represents a single NVME queue in memory.

The queue will always fit in one page.

Public Methods

zx::result<Queue> Create (zx::unowned_bti bti, uint16_t queue_id, uint32_t max_entries, size_t entry_size)

Defined at line 22 of file ../../src/devices/block/drivers/nvme/queue.h

zx_paddr_t GetDeviceAddress ()

Get the physical address of this queue, suitable for passing to the controller.

Defined at line 33 of file ../../src/devices/block/drivers/nvme/queue.h

uint32_t entry_count ()

Return the number of entries in the queue.

Defined at line 35 of file ../../src/devices/block/drivers/nvme/queue.h

void * Next ()

Get the next item in the queue, and move the queue pointer forward.

Defined at line 38 of file ../../src/devices/block/drivers/nvme/queue.h

void * Peek ()

Return the next item in the queue without affecting the queue.

Defined at line 48 of file ../../src/devices/block/drivers/nvme/queue.h

size_t NextIndex ()

Return the index of the next item in the queue.

Defined at line 51 of file ../../src/devices/block/drivers/nvme/queue.h

uint16_t id ()

Defined at line 53 of file ../../src/devices/block/drivers/nvme/queue.h

void * head ()

For unit tests only.

Defined at line 56 of file ../../src/devices/block/drivers/nvme/queue.h