freebsd-dev/usr.sbin/bhyve
Corvin Köhne 17d214c2ca bhyve: implement rdmsr for MSR_IA32_FEATURE_CONTROL
Without the -w option, Windows guests crash on boot. This is caused by a rdmsr
of MSR_IA32_FEATURE_CONTROL. Windows checks this MSR to determine enabled VMX
features. This MSR isn't emulated in bhyve, so a #GP exception is injected
which causes Windows to crash.

Fix by returning a rdmsr of MSR_IA32_FEATURE_CONTROL with Lock Bit set and
VMX disabled to informWindows that VMX isn't available.

Reviewed by:	jhb, grehan (bhyve)
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D29665
2021-04-15 13:49:19 +10:00
..
acpi.c
acpi.h
ahci.h
atkbdc.c
atkbdc.h
audio.c
audio.h
bhyve_config.5 bhyve hostbridge: Rename "device" property to "devid". 2021-03-24 09:29:15 -07:00
bhyve.8 Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
bhyvegc.c
bhyvegc.h
bhyverun.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
bhyverun.h Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
block_if.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
block_if.h Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
bootrom.c
bootrom.h
config.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
config.h Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
console.c
console.h
debug.h
fwctl.c
fwctl.h
gdb.c bhyve: Move the gdb_active check to gdb_cpu_suspend(). 2021-04-12 11:43:34 -07:00
gdb.h
hda_codec.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
hda_reg.h
hdac_reg.h
inout.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
inout.h Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
ioapic.c
ioapic.h
iov.c
iov.h
kernemu_dev.c
kernemu_dev.h
Makefile Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
Makefile.depend
Makefile.depend.options
mem.c
mem.h
mevent_test.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
mevent.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
mevent.h
mptbl.c
mptbl.h
net_backends.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
net_backends.h Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
net_utils.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
net_utils.h Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
pci_ahci.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
pci_e82545.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
pci_emul.c bhyve: support relocating fbuf and passthru data BARs 2021-03-19 11:04:36 +08:00
pci_emul.h bhyve: support relocating fbuf and passthru data BARs 2021-03-19 11:04:36 +08:00
pci_fbuf.c bhyve: support relocating fbuf and passthru data BARs 2021-03-19 11:04:36 +08:00
pci_hda.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
pci_hda.h Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
pci_hostbridge.c bhyve hostbridge: Rename "device" property to "devid". 2021-03-24 09:29:15 -07:00
pci_irq.c
pci_irq.h
pci_lpc.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
pci_lpc.h
pci_nvme.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
pci_passthru.c bhyve: support relocating fbuf and passthru data BARs 2021-03-19 11:04:36 +08:00
pci_uart.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
pci_virtio_9p.c bhyve: fix regression in legacy virtio-9p config parsing 2021-04-08 18:44:58 +04:00
pci_virtio_block.c bhyve: change vq_getchain to return iovecs in both directions 2021-03-30 16:44:07 +08:00
pci_virtio_console.c bhyve: change vq_getchain to return iovecs in both directions 2021-03-30 16:44:07 +08:00
pci_virtio_net.c bhyve: change vq_getchain to return iovecs in both directions 2021-03-30 16:44:07 +08:00
pci_virtio_rnd.c bhyve: change vq_getchain to return iovecs in both directions 2021-03-30 16:44:07 +08:00
pci_virtio_scsi.c bhyve: change vq_getchain to return iovecs in both directions 2021-03-30 16:44:07 +08:00
pci_xhci.c Fix typo in xhci nvlist node name, and also increment device counter. 2021-04-03 14:32:54 +10:00
pci_xhci.h
pctestdev.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
pctestdev.h Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
pm.c
post.c
ps2kbd.c
ps2kbd.h
ps2mouse.c
ps2mouse.h
rfb.c Fix issues with various VNC clients. 2020-12-18 00:38:48 +00:00
rfb.h
rtc.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
rtc.h Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
smbiostbl.c bhyve: add SMBIOS Baseboard Information 2021-04-12 08:09:52 -07:00
smbiostbl.h
snapshot.c bhyve/snapshot: use SOCK_DGRAM instead of SOCK_STREAM 2021-03-07 15:23:29 -09:00
snapshot.h bhyve/snapshot: rename and bump size of MAX_SNAPSHOT_VMNAME 2021-02-27 12:07:35 -09:00
sockstream.c
sockstream.h
spinup_ap.c
spinup_ap.h
task_switch.c
uart_emul.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
uart_emul.h Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
usb_emul.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
usb_emul.h Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
usb_mouse.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
vga.c
vga.h
virtio.c bhyve: change vq_getchain to return iovecs in both directions 2021-03-30 16:44:07 +08:00
virtio.h bhyve: change vq_getchain to return iovecs in both directions 2021-03-30 16:44:07 +08:00
vmgenc.c
vmgenc.h
xmsr.c bhyve: implement rdmsr for MSR_IA32_FEATURE_CONTROL 2021-04-15 13:49:19 +10:00
xmsr.h