Hi All,

This is an informational post about our plans for the enablement of AMD SEV support in Xen. This work will be done as part of the Hyper OpenX project[1].

Phase Zero:
----------------

Our primary intention is to gather the necessary information required to commence the upstream work for this project. This phase also encompasses the development of a small demo to demonstrate the SME technology itself.

Please note, this small demo won't be part of the upstream, as its primary purpose is to demonstrate the SME technology as part of Hyper OpenX project. And it is not integral to the enablement work in Xen. Although the demo code will be open source, so feel free to keep an eye on this repo[2] as we'll add the related links there.

Phase One:
----------------
The main goal of this phase is to achieve basic SEV support using XTF guests. This work will entail: - Xen adaptations to make it compliant with SEV technology. (For example: how Xen currently manages multiple ASIDs for a single VM)
- An ASP/PSP driver for platform and key management.
- ASID allocation mechanism

Dom0:

- Introduction of a security hypercall and an ASP sub-op
- Support for enabling SEV during guest creation

DomU XTF:

- Support for the security hypercall and ASP sub-op
- Support for the C bit
- Test cases for OSS-Test to launch the XTF guest

Phase Two:
----------------

This phase emphasizes achieving full support for the PVH VM with paravirtualized devices capable of running in the SEV-ES environment. The primary tasks include:

- SEV-ES support addition
- GHCB MSR protocol implementation and #vc handler
- Enhancements in PV protocol related to PV devices framework (Xenstore/Xen console)
- Adjustments in VMEXIT handling
- Establishing ABI rules for the HVM ABI redesign
- Dom0 developments concerning the HVM ABI redesign
- OSS Test: PVH Linux+initrd+metadata+signature mimicking phase one XTF test
- XTF(testing): comprehensive test cases for the new HVM ABI

Phase Three:
-----------------
This phase revolves around enabling SEV-SNP support for PVH Linux guests. Predominantly, this will require:

- Addition of alternative SNP commands supporting the API and extending the flow in the PSP/ASP driver
- Hypercall expansion for domain creation
- Developments in RMP Management
- Dom0 and DomU developments related to the enablement of SNP in guests
- Testing that includes support for guest RMP instructions

We're also looking forward to integrating CI and documenting the various project stages. Like any significant upstream project, implementation details may change as we advance. However, we are committed to collaborating and communicating with the Xen community regarding any modifications.

We would also like to thank Andrew and folks from Apertus solutions , in doing the early research with regards to defining the tasks for the AMD SEV-SNP enablement in Xen.

Please don't hesitate to reply here or email me & Andrei (CC'ed here) if you have any further inquiries.

Thank you,
Vaishali

[1] https://www.lemondeinformatique.fr/actualites/lire-hyper-open-x-sort-de-terre-avec-10-meteuro-de-financements-90954.html

[2] https://github.com/xcp-ng/hyper-sev-project

Reply via email to