Re: SVSM Observability and Configuration Protocol draft

Carlos López <[email protected]> Tue, 14 Apr 2026 11:38:44 +0200
Newsgroups dev.linux.lists.coconut-svsm
Message-ID <[email protected]>
Hi,

On 4/14/26 10:25 AM, Jörg Rödel wrote:
> # **[DRAFT]** SVSM Observability and Configuration Protocol
> 
> The SVSM Observability and Configuration Protocol (OCP) is a new sub-protocol
> of the SVSM specification and uses protocol ID value 5. The initial version of
> the OCP is 1. Versioning is strictly additive, i.e., all calls present in a
> protocol version must also be present in any later version.

Maybe we could have a short rationale section with e.g. expected use
cases for the protocol.

> 
> The following enumerates the set of calls supported by version 1 of the OCP:
> 
> | Call ID | First version supported | Name | Function |
> |--------:|------------------------:|------|----------|
> | 0 | 1 | `SVSM_OCP_LIST` | Query a list of supported observability and configuration sources. |
> | 1 | 1 | `SVSM_OCP_READ` | Read data from an observability source. |
> | 2 | 1 | `SVSM_OCP_WRITE` | Write data to a configuration source. |

I could see some cases where the guest wants to continuously consume
data from the SVSM (e.g. event-like information). Would it make sense to
have another set of calls to set up a shared ring buffer with a
source-defined entry size? Or 2 separate ring buffers in the case of
read/write sources. This could avoid a lot of calling and copying
overhead between the SVSM and the lower VPML guest. If this adds too
much complexity, it could be gated behind a higher protocol version to
allow for simpler implementations.

Best,
Carlos