vmd: create a copy of bios at 4g boundary
authordv <dv@openbsd.org>
Sun, 26 Jun 2022 06:49:09 +0000 (06:49 +0000)
committerdv <dv@openbsd.org>
Sun, 26 Jun 2022 06:49:09 +0000 (06:49 +0000)
commitb1ba8534533e4290eede4ed6cfcebf3ece09c3c3
treead3354addd7879e09fd814b30b3e329428eae0d4
parentfec4f50ce44a55a84833edd860774b65f2e5bba7
vmd: create a copy of bios at 4g boundary

Newer Linux kernels call into the bios to perform a reboot and our
version of SeaBIOS assumes there's a "copy" of the bios ending at
4g. When SeaBIOS reads from this area, since vmd doesn't perform
mmio yet, guests terminate with an unhandled fault.

Carve out some space ending at 4g and copy the bios there. Technically
we could load garbage there, but give SeaBIOS what it wants for
now.

ok mlarkin@
sys/arch/amd64/include/vmmvar.h
usr.sbin/vmd/vm.c