MFC r284539, r284630, r284688, r284877, r285217, r285218,
authorgrehan <grehan@FreeBSD.org>
Mon, 1 Feb 2016 14:56:11 +0000 (14:56 +0000)
committergrehan <grehan@FreeBSD.org>
Mon, 1 Feb 2016 14:56:11 +0000 (14:56 +0000)
commit83c1d10f0ce6085d288212702d5b72432e3a184b
tree221f5a6c07cf26f275b8166b1d46c75f5afdaa8b
parent9c4de571a758cb693a9c36eefd957350944f11b2
MFC r284539, r284630, r284688, r284877, r285217, r285218,
    r286837, r286838, r288470, r288522, r288524, r288826,
    r289001

Pull in bhyve bug fixes and changes to allow UEFI booting.
This provides Windows support.

Tested on Intel and AMD with:
  - Arch Linux i386+amd64 (kernel 4.3.3)
  - Ubuntu 15.10 server 64-bit
  - FreeBSD-CURRENT/amd64 20160127 snap
  - FreeBSD 10.2 i386+amd64
  - OpenBSD 5.8 i386+amd64
  - SmartOS latest
  - Windows 10 build 1511'

Huge thanks to Yamagi Burmeister who submitted the patch
and did the majority of the testing.

r284539 - bootrom mem allocation support
r284630 - Add SO_REUSEADDR when starting debug port
r284688 - Fix a regression in "movs" emulation
r284877 - verify_gla() non-zero segment base fix
r285217 - Always assert DCD and DSR in the uart
r285218 - devmem nodes moved to /dev/vmm.io/
r286837 - Add define for SATA Check-Power-Mode
r286838 - Add simple (no-op) SATA cmd emulations
r288470 - Increase virtio-blk indirect descs
r288522 - Firmware guest query interface
r288524 - Fix post-test typo
r288826 - Clean up SATA unimplemented cmd msg
r289001 - Add -l option to specify userboot path

Submitted by: Yamagi Burmeister
Approved by: re (kib)
31 files changed:
lib/libvmmapi/vmmapi.c
lib/libvmmapi/vmmapi.h
share/examples/bhyve/vmrun.sh
sys/amd64/include/vmm.h
sys/amd64/include/vmm_dev.h
sys/amd64/vmm/amd/svm.c
sys/amd64/vmm/intel/vmx.c
sys/amd64/vmm/io/ppt.c
sys/amd64/vmm/vmm.c
sys/amd64/vmm/vmm_dev.c
sys/amd64/vmm/vmm_instruction_emul.c
sys/amd64/vmm/vmm_mem.c
sys/amd64/vmm/vmm_mem.h
sys/sys/ata.h
usr.sbin/bhyve/Makefile
usr.sbin/bhyve/bhyve.8
usr.sbin/bhyve/bhyverun.c
usr.sbin/bhyve/bootrom.c [new file with mode: 0644]
usr.sbin/bhyve/bootrom.h [copied from sys/amd64/vmm/vmm_mem.h with 65% similarity]
usr.sbin/bhyve/dbgport.c
usr.sbin/bhyve/fwctl.c [new file with mode: 0644]
usr.sbin/bhyve/fwctl.h [copied from sys/amd64/vmm/vmm_mem.h with 63% similarity]
usr.sbin/bhyve/pci_ahci.c
usr.sbin/bhyve/pci_lpc.c
usr.sbin/bhyve/pci_lpc.h
usr.sbin/bhyve/pci_passthru.c
usr.sbin/bhyve/pci_virtio_net.c
usr.sbin/bhyve/uart_emul.c
usr.sbin/bhyvectl/bhyvectl.c
usr.sbin/bhyveload/bhyveload.8
usr.sbin/bhyveload/bhyveload.c