class CoherencyDomain
Defined at line 107 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h
`INACCESSIBLE` is only for cases where there is no CPU access to the
buffers.
Device-local memory that isn't reachable from the CPU is `CoherencyDomain`
`INACCESSIBLE`, even if it's possible to cause a device (physical or
virtual) to copy the data from the `INACCESSIBLE` buffers to buffers that
are visible to the CPU. In other words, INACCESSIBLE does not imply secure,
but secure implies INACCESSIBLE.
`CPU` means producers must ensure that a consumer can read the produced data
with the CPU without the consumer needing to do additional cache ops not
already performed (as needed) by the producer.
`RAM` means producers must ensure that the produced data is entirely present
in RAM, without any dirty CPU cache lines, and a consumer must invalidate
(or flush and invalidate, typically) the CPU cache before reading data with
the CPU. The `RAM` domain can be faster than the `CPU` domain when all
access is via HW DMA, since in that case no CPU cache ops are required,
since no participant is actually reading/writing using the CPU.
Public Members
static CoherencyDomain CPU
static CoherencyDomain RAM
static CoherencyDomain INACCESSIBLE
Public Methods
void CoherencyDomain ()
Defined at line 109 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h
void CoherencyDomain (uint32_t value)
Defined at line 110 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h
uint32_t operator unsigned int ()
Defined at line 111 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h
bool IsUnknown ()
Defined at line 113 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h
CoherencyDomain Unknown ()
Defined at line 128 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h