]> git.proxmox.com Git - mirror_qemu.git/commit - target/i386/sev.c
target/i386/sev: Add kernel hashes only if sev-guest.kernel-hashes=on
authorDov Murik <dovmurik@linux.ibm.com>
Thu, 11 Nov 2021 10:00:44 +0000 (10:00 +0000)
committerDaniel P. Berrangé <berrange@redhat.com>
Thu, 18 Nov 2021 11:07:50 +0000 (11:07 +0000)
commit9dbe0c93f00d3aef9ac386c390595d370cfad677
tree0145add29931778ebe0106c714eea04154386d69
parent55cdf566412695b4fc052065c7970632129cd65b
target/i386/sev: Add kernel hashes only if sev-guest.kernel-hashes=on

Commit cff03145ed3c ("sev/i386: Introduce sev_add_kernel_loader_hashes
for measured linux boot", 2021-09-30) introduced measured direct boot
with -kernel, using an OVMF-designated hashes table which QEMU fills.

However, if OVMF doesn't designate such an area, QEMU would completely
abort the VM launch.  This breaks launching with -kernel using older
OVMF images which don't publish the SEV_HASH_TABLE_RV_GUID.

Fix that so QEMU will only look for the hashes table if the sev-guest
kernel-hashes option is set to on.  Otherwise, QEMU won't look for the
designated area in OVMF and won't fill that area.

To enable addition of kernel hashes, launch the guest with:

    -object sev-guest,...,kernel-hashes=on

Signed-off-by: Dov Murik <dovmurik@linux.ibm.com>
Reported-by: Tom Lendacky <thomas.lendacky@amd.com>
Acked-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
target/i386/sev.c