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