A combination of all the production |Device| protocols. This protocol is implemented on the
Magma service side and should not be used by clients.
This protocol is implemented by ZX_PROTOCOL_GPU_DEPENDENCY_INJECTION devices. It’s used
to inject dependencies on other services into the MSD. It can be used
only by a privileged process.
The Magma Device protocol allow clients to learn about the hardware by making queries, such as
device and vendor IDs, and which client drivers are supported by the device’s system driver.
To engage further with the device, clients may establish connections formed of channel pairs:
a primary channel for making requests (see Primary protocol below), and a secondary channel
for receiving notification messages (see Notification protocol below).
Methods used to expose diagnostics from the Magma device.
Methods implemented by an MSD and exposed for use of an ICD loader.
This protocol is empty as the message contents are vendor specific.
This protocol is implemented by ZX_PROTOCOL_GPU_PERFORMANCE_COUNTERS devices.
If a system driver error occurs, or if the client sends a message that the client should have
known is invalid, the connection will be closed and a zx.Status sent via epitaph.
Types of information about the hardware and driver that can be queried from the Magma system
driver. Vendor-specific ID numbers may be used, but those IDs will be listed elsewhere.
Additional device methods for the purposes of testing the MSD and should not be used by ICDs.