Page MenuHomePhabricator

RPC abstraction
Open, Needs TriagePublic

Description

Hafnium provides the binary interface for transferring messages between VMs. The higher level protocols are left to the higher level components. The existing trusted OSes come with their own session and RPC management but we'd like to abstract that so it doesn't matter which context or system a service is running.

(This was discussed further in an internal document; ask qwandor@google.com for details.)

The socket protocol explored in the Linux driver is an option offer RPC streams. On top of this, it has been discussed to use gRPC to make use of protobuf IDL and encoding. Unclear whether this addresses needs as needs are undefined at the moment.

  • Arm didn't think they needed to standardise this beyond SPCI so might expect that different industries have different standards. But they say they have been thinking about this with OP-TEE.
  • Serban suggested looking into Linux's generic TEE driver.

(Migrated from b/117487290.)

Related Objects

StatusAssignedTask
OpenNone
OpenNone

Event Timeline

This should also include some interface for multiplexing secondary VM requests, first a documented convention and then a reference implementation.

(Migrated from b/132420569.)