class AddressSpaceDevice

Defined at line 32 of file fidling/gen/sdk/fidl/fuchsia.hardware.goldfish/fuchsia.hardware.goldfish/cpp/fidl/fuchsia.hardware.goldfish/cpp/markers.h

State

The driver consists of three main pieces of state:

1. A PCI BAR that clients can suballocate into. This is used for mapping

coherent memory from the hardware, such as for Vulkan HOST_COHERENT

memory, or for any other buffer owned by the hardware such as video

codec buffers. This also includes a mapping where each connection of the

driver is associated with one or more mappings.

The next two pieces of state are for child driver connections.

2. A set of context handles, one per driver connection that the client

establishes. This is used to support higher-level/VMM-defined (child)

drivers. Each such driver is considered a "child" driver of goldfish

address space.

3. A set of command pages, one per connection. This is used as a shared

device/host memory to support the "Ping" command. The "Ping" command is used

to run the child driver logic, driven by the app. There is a protocol to

permanently associate a particular goldfish address space driver connection

with a particular type of child driver, discussed next.

Public Members

static Openness kOpenness
static const char[] kDiscoverableName

Records