Skip to content

Commit

Permalink
Updating README to add snp functionality
Browse files Browse the repository at this point in the history
Signed-off-by: Diego Gonzalez Villalobos <[email protected]>
  • Loading branch information
DGonzalezVillal committed Nov 2, 2023
1 parent a9360e3 commit ab49e23
Showing 1 changed file with 25 additions and 4 deletions.
29 changes: 25 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,37 @@

# sev

The `sev` crate provides an implementation of [AMD Secure Encrypted
Virtualization (SEV)](https://developer.amd.com/sev/) APIs.
The `sev` crate provides an implementation of the [AMD Secure Encrypted
Virtualization (SEV)](https://developer.amd.com/sev/) APIs and the [SEV Secure Nested Paging
Firmware (SNP)] (https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/specifications/56860.pdf) ABIs.

### SEV APIs

The Linux kernel exposes two technically distinct AMD SEV APIs:

1. An API for managing the SEV platform itself
2. An API for managing SEV-enabled KVM virtual machines

This crate implements both of those APIs and offers them to client
code through a flexible and type-safe high level interface.
This crate implements both of those APIs and offers them to client.
code through a flexible and type-safe high-level interface.

### SNP ABIs

The exposed ASP (AMD Secure Processor) firmware gets an enhancement with the SEV-SNP update.
The new exposed ABI has the same two functionalities as the SEV API:

1. An ABI for managing the SEV-SNP platform itself
2. An ABI for managing SEV-SNP enabled KVM virtual machines

These new ABIs work only for **SEV-SNP** enabled hosts and guests.

This crate now implements both the APIs for SEV management as well as the ABIs for SEV-SNP management.

### SEV and SEV-SNP enablement

By default, both the SEV and SEV-SNP libraries are compiled.
Since both generations have similar functions, the library is still split by folders according to function, and inside the modules we separate the functionalities into `sev.rs` and `snp.rs` files.
You can select to only compile `sev` or `snp`.

### Platform Management

Expand Down

0 comments on commit ab49e23

Please sign in to comment.