david/ipxe
Archived
1
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/interface
Michael Brown 0166a68351 [hyperv] Require support for VMBus version 3.0 or newer
We require the ability to disconnect from and reconnect to VMBus; if
we don't have this then there is no (viable) way for a loaded
operating system to continue to use any VMBus devices.  (There is also
a small but non-zero risk that the host will continue to write to our
interrupt and monitor pages, since the VMBUS_UNLOAD message in earlier
versions is essentially a no-op.)

This requires us to ensure that the host supports protocol version 3.0
(VMBUS_VERSION_WIN8_1).  However, we can't actually _use_ protocol
version 3.0, since doing so causes an iSCSI-booted Windows Server 2012
R2 VM to crash due to a NULL pointer dereference in vmbus.sys.

To work around this problem, we first ensure that we can connect using
protocol v3.0, then disconnect and reconnect using the oldest known
protocol.

This deliberately prevents the use of the iPXE native Hyper-V drivers
on older versions of Hyper-V, where we could use our drivers but in so
doing would break the loaded operating system.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2014-12-21 11:21:23 +00:00
..
bofm [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
efi [efi] Generalise snpnet_dev_info() to efi_device_info() 2014-10-16 14:12:42 +01:00
hyperv [hyperv] Require support for VMBus version 3.0 or newer 2014-12-21 11:21:23 +00:00
linux [linux] Avoid starting currticks() from zero every time 2014-03-07 17:30:05 +00:00
smbios [smbios] Expose board serial number as ${board-serial} 2014-06-12 17:59:52 +01:00
xen [xen] Cope with unexpected initial backend states 2014-08-14 00:14:51 +01:00