class Nvme

Defined at line 34 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 ()

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

inspect::Inspector & inspect ()

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

inspect::Node & inspect_node ()

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

QueuePair * io_queue ()

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

uint32_t max_data_transfer_bytes ()

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

bool volatile_write_cache_enabled ()

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

uint16_t atomic_write_unit_normal ()

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

uint16_t atomic_write_unit_power_fail ()

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

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

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

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 65 of file ../../src/devices/block/drivers/nvme/nvme.h

std::string_view driver_name ()

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

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

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

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

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

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

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

zx::event node_token ()

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

zx::result<> Start (fdf::DriverContext context)

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

void Stop (fdf::StopCompleter completer)

Defined at line 265 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 77 of file ../../src/devices/block/drivers/nvme/nvme.cc

void QueueIoCommand (IoCommand * io_cmd)

Queue an IO command to be performed asynchronously.

Defined at line 252 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 704 of file ../../src/devices/block/drivers/nvme/nvme.cc

Friends

class FakeController