class Nvme

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

Protected Members

Pci pci_
optional mmio_
InterruptMode irq_mode_
interrupt irq_
bti bti_

Public Methods

void Nvme (fdf::DriverStartArgs start_args, fdf::UnownedSynchronizedDispatcher dispatcher)

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

inspect::Inspector & inspect ()

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

inspect::Node & inspect_node ()

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

QueuePair * io_queue ()

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

uint32_t max_data_transfer_bytes ()

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

bool volatile_write_cache_enabled ()

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

uint16_t atomic_write_unit_normal ()

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

uint16_t atomic_write_unit_power_fail ()

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

std::vector<std::unique_ptr<nvme::Namespace>> & namespaces ()

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

zx::result<> Start ()

Defined at line 705 of file ../../src/devices/block/drivers/nvme/nvme.cc

void PrepareStop (fdf::PrepareStopCompleter completer)

Defined at line 246 of file ../../src/devices/block/drivers/nvme/nvme.cc

zx::result<Completion> DoAdminCommandSync (Submission & submission, std::optional<zx::unowned_vmo> admin_data)

Perform an admin command synchronously (i.e., blocks for the command to complete or timeout).

Returns the command completion.

Defined at line 76 of file ../../src/devices/block/drivers/nvme/nvme.cc

fidl::WireSyncClient<fuchsia_driver_framework::Node> & root_node ()

Called by children device of this controller for invoking AddChild() or instantiating

compat::DeviceServer.

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

std::string_view driver_name ()

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

const std::shared_ptr<fdf::Namespace> & driver_incoming ()

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

std::shared_ptr<fdf::OutgoingDirectory> & driver_outgoing ()

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

const std::optional<std::string> & driver_node_name ()

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

void QueueIoCommand (IoCommand * io_cmd)

Queue an IO command to be performed asynchronously.

Defined at line 237 of file ../../src/devices/block/drivers/nvme/nvme.cc

Protected Methods

zx::result<fit::function<void ()>> InitResources ()

Returns a function for releasing the initialized resources. Override to inject dependency for

unit testing.

Defined at line 655 of file ../../src/devices/block/drivers/nvme/nvme.cc

Friends

class FakeController