david/ipxe
david
/
ipxe
Archived
1
0
Fork 0
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
ipxe/src/arch/x86
Michael Brown 936657832f [hyperv] Do not steal ownership from the Gen 2 UEFI firmware
We must not steal ownership from the Gen 2 UEFI firmware, since doing
so will cause an immediate system crash (most likely in the form of a
reboot).

This problem was masked before commit a0f6e75 ("[hyperv] Do not fail
if guest OS ID MSR is already set"), since prior to that commit we
would always fail if we found any non-zero guest OS identity.  We now
accept a non-zero previous guest OS identity in order to allow for
situations such as chainloading from iPXE to another iPXE, and as a
prerequisite for commit b91cc98 ("[hyperv] Cope with Windows Server
2016 enlightenments").

A proper fix would be to reverse engineer the UEFI protocols exposed
within the Hyper-V Gen 2 firmware and use these to bind to the VMBus
device representing the network connection, (with the native Hyper-V
driver moved to become a BIOS-only feature).

As an interim solution, fail to initialise the native Hyper-V driver
if we detect the guest OS identity known to be used by the Gen 2 UEFI
firmware.  This will cause the standard all-drivers build (ipxe.efi)
to fall back to using the SNP driver.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2017-07-28 21:30:43 +01:00
..
core [cpuid] Allow input %ecx value to be specified 2017-06-16 01:17:48 +01:00
drivers [hyperv] Do not steal ownership from the Gen 2 UEFI firmware 2017-07-28 21:30:43 +01:00
hci/commands [bios] Add bin-x86_64-pcbios build platform 2016-02-16 19:32:32 +00:00
image [build] Avoid implicit-fallthrough warnings on GCC 7 2017-03-29 10:36:45 +03:00
include [cpuid] Allow input %ecx value to be specified 2017-06-16 01:17:48 +01:00
interface [acpi] Make acpi_find_rsdt() a per-platform method 2017-05-23 18:34:39 +01:00
prefix [hdprefix] Avoid attempts to read beyond the end of the disk 2017-06-14 12:14:54 +01:00
scripts [efi] Centralise architecture-independent EFI Makefile and linker script 2016-03-12 21:47:13 +00:00
tests/comboot [comboot] Support COMBOOT in 64-bit builds 2016-04-15 15:31:36 +01:00
transitions [librm] Fail gracefully if asked to ioremap() a zero length 2017-03-21 14:17:18 +02:00
Makefile [undi] Move PXE API caller back into UNDI driver 2017-03-19 15:57:24 +00:00
Makefile.efi [efi] Centralise architecture-independent EFI Makefile and linker script 2016-03-12 21:47:13 +00:00
Makefile.linux [build] Avoid errors when build directory is mounted via NFS 2014-05-13 16:45:57 +01:00
Makefile.pcbios [build] Add %.vhd target for building VM bootable disk images 2017-01-22 11:22:11 +00:00