public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v3 0/2] OvmfPkg: Enable measured direct boot on AMD SEV-SNP
@ 2023-03-02  9:15 Dov Murik
  2023-03-02  9:15 ` [PATCH v3 1/2] OvmfPkg/AmdSev: Reorder MEMFD pages to match the order in OvmfPkgX64.fdf Dov Murik
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Dov Murik @ 2023-03-02  9:15 UTC (permalink / raw)
  To: devel
  Cc: Dov Murik, Ard Biesheuvel, Jiewen Yao, Jordan Justen,
	Gerd Hoffmann, Erdem Aktas, James Bottomley, Min Xu, Tom Lendacky,
	Michael Roth, Ashish Kalra, Mario Smarduch,
	Tobin Feldman-Fitzthum

AMD SEV and SEV-ES support measured direct boot with
kernel/initrd/cmdline hashes injected by QEMU and verified by OVMF
during boot.

To enable the same approach for AMD SEV-SNP, we declare the kernel
hashes page in the SNP metadata list as a new region type.  When QEMU
encounters that region in the list, it will insert the hashes of
kernel/initrd/cmdline and encrypt the page (or, if the user turned off
kernel hashes, it will validate the page as a zero page).

The first patch rearranges the pages in AmdSevX64's MEMFD so they are in
the same order both as in the main target (OvmfPkgX64), with the
exception of the SEV Launch Secret page which isn't defined in
OvmfPkgX64.

The second patch modifies the SNP metadata structure such that on
AmdSev target the SEV Launch Secret page is explicitly defined in SNP
metadata list, and therefore it is not included in the ranges that are
pre-validated (zero pages) by the VMM; instead the VMM will insert
content into this page (the hashes table), or mark it explicitly as a
zero page if no hashes are added.

This series is available at:
https://github.com/confidential-containers-demo/edk2/tree/snp-kernel-hashes-v3

A corresponding QEMU RFC series will be published soon in qemu-devel, or
use this tree:
https://github.com/confidential-containers-demo/qemu/tree/snp-kernel-hashes-v3

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Erdem Aktas <erdemaktas@google.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: Min Xu <min.m.xu@intel.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Michael Roth <michael.roth@amd.com>
Cc: Ashish Kalra <ashish.kalra@amd.com>
Cc: Mario Smarduch <mario.smarduch@amd.com>
Cc: Tobin Feldman-Fitzthum <tobin@linux.ibm.com>

---

v3 changes:
* Define the kernel hashes page in the SNP metadata table (thanks Tom)

v2: https://edk2.groups.io/g/devel/message/100362
v2 changes:
* Rebased on master
* Updated AmdSev MEMFD size to match OvmfX64

v1: https://edk2.groups.io/g/devel/message/88137

Dov Murik (2):
  OvmfPkg/AmdSev: Reorder MEMFD pages to match the order in
    OvmfPkgX64.fdf
  OvmfPkg/ResetVector: Define SNP metadata for kernel hashes

 OvmfPkg/AmdSev/AmdSevX64.fdf                | 27 ++++++++++----------
 OvmfPkg/ResetVector/ResetVector.nasmb       | 11 +++++++-
 OvmfPkg/ResetVector/X64/OvmfSevMetadata.asm | 11 ++++++++
 3 files changed, 35 insertions(+), 14 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-11-28 11:07 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-02  9:15 [PATCH v3 0/2] OvmfPkg: Enable measured direct boot on AMD SEV-SNP Dov Murik
2023-03-02  9:15 ` [PATCH v3 1/2] OvmfPkg/AmdSev: Reorder MEMFD pages to match the order in OvmfPkgX64.fdf Dov Murik
2023-03-02  9:15 ` [PATCH v3 2/2] OvmfPkg/ResetVector: Define SNP metadata for kernel hashes Dov Murik
2023-03-02 16:35 ` [PATCH v3 0/2] OvmfPkg: Enable measured direct boot on AMD SEV-SNP Lendacky, Thomas
2023-03-20 10:06 ` Gerd Hoffmann
2023-11-27 20:03   ` [edk2-devel] " Lendacky, Thomas via groups.io
2023-11-28 11:07     ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox