class FakeController

Defined at line 29 of file ../../src/devices/block/drivers/nvme/fake/fake-controller.h

Public Methods

void FakeController ()

Defined at line 15 of file ../../src/devices/block/drivers/nvme/fake/fake-controller.cc

void HandleSubmission (size_t queue_id, size_t index, nvme::Submission & submission)

Called when a write to the submission queue doorbell register occurs.

queue_id - queue this submission is from

index - index of this submission in the queue

submission - contents of the submission.

Defined at line 17 of file ../../src/devices/block/drivers/nvme/fake/fake-controller.cc

void AddAdminCommand (uint8_t opcode, CommandHandler handler)

Add a command handler for the given admin opcode.

Defined at line 43 of file ../../src/devices/block/drivers/nvme/fake/fake-controller.h

void AddIoCommand (uint8_t opcode, CommandHandler handler)

Add a command handler for the given I/O opcode.

Defined at line 48 of file ../../src/devices/block/drivers/nvme/fake/fake-controller.h

void AddNamespace (uint32_t nsid, FakeNamespace & ns)

Add a namespace to this controller.

Defined at line 57 of file ../../src/devices/block/drivers/nvme/fake/fake-controller.h

void SubmitCompletion (nvme::Completion & completion)

Called when a submission is finished.

Defined at line 57 of file ../../src/devices/block/drivers/nvme/fake/fake-controller.cc

void SetNvme (nvme::Nvme * nvme)

Called by the test fixture to give us a pointer to the driver instance.

We use the driver instance to access data buffers and queues since the values written to the

register are fake values from fake_bti.

Defined at line 65 of file ../../src/devices/block/drivers/nvme/fake/fake-controller.h

void AddQueuePair (size_t queue_id, const nvme::Queue * completion_queue, const nvme::Queue * submission_queue)

Defined at line 67 of file ../../src/devices/block/drivers/nvme/fake/fake-controller.h

FakeRegisters & registers ()

Defined at line 88 of file ../../src/devices/block/drivers/nvme/fake/fake-controller.h

nvme::Nvme * nvme ()

Defined at line 89 of file ../../src/devices/block/drivers/nvme/fake/fake-controller.h

const std::map<uint32_t, FakeNamespace &> & namespaces ()

Defined at line 90 of file ../../src/devices/block/drivers/nvme/fake/fake-controller.h

void UpdateAdminQueue ()

Called when one of the Admin Queue address registers is written to.

Defined at line 160 of file ../../src/devices/block/drivers/nvme/fake/fake-controller.cc

zx::result<zx::interrupt> GetOrCreateInterrupt (size_t index)

Returns IRQ number |index|, and creates it if it doesn't yet exist.

Defined at line 82 of file ../../src/devices/block/drivers/nvme/fake/fake-controller.cc