Allow boot loader to run as AMD SEV guest on QEMU with EFI.
authorbluhm <bluhm@openbsd.org>
Fri, 4 Oct 2024 22:21:28 +0000 (22:21 +0000)
committerbluhm <bluhm@openbsd.org>
Fri, 4 Oct 2024 22:21:28 +0000 (22:21 +0000)
commit02c03184b3a77cc7142aa12091094759d56da8f6
treef4a8528b786869a8ce7587187821d8eef0b68f9a
parent2ce883118e8e5b201f86b9c7b55b5710ef029134
Allow boot loader to run as AMD SEV guest on QEMU with EFI.

When efibooting amd64, the boot loader rewrites the page table built
by EFI firmware to ensure that there are no read-only mappings.
The rewrite is needed for some HP EFI BIOS, that maps computrace
section read-only.
When efibooting on SEV enabled QEMU, we would have to ensure the
crypt bit is set when changing page tables.  However, there is no
need for the HP workaround when booting on QEMU (or any other VM),
so just do not modify the page table, when SEV gest mode is detected.

from Sebastian Sturm; via hshoexer@; OK kettenis@
sys/arch/amd64/stand/efiboot/exec_i386.c