]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC 264353,264509,264768,264770,264825,264846,264988,265114,265165,265365,
authorjhb <jhb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 21 Jul 2014 19:08:02 +0000 (19:08 +0000)
committerjhb <jhb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 21 Jul 2014 19:08:02 +0000 (19:08 +0000)
commit27087c20242bc2222b63195bc86547848bcd3a55
tree7e529f938e1d777df1f54045191fa3003056dbda
parent9c88e61dc0891a7f4781aff2a06a1de8ae86ea93
MFC 264353,264509,264768,264770,264825,264846,264988,265114,265165,265365,
265941,265951,266390,266550,266910:
Various bhyve fixes:
- Don't save host's return address in 'struct vmxctx'.
- Permit non-32-bit accesses to local APIC registers.
- Factor out common ioport handler code.
- Use calloc() in favor of malloc + memset.
- Change the vlapic timer frequency to be in the ballpark of contemporary
  hardware.
- Allow the guest to read the TSC via MSR 0x10.
- A VMCS is always inactive when it exits the vmx_run() loop.  Remove
  redundant code and the misleading comment that suggest otherwise.
- Ignore writes to microcode update MSR.  This MSR is accessed by RHEL7
  guest.
  Add KTR tracepoints to annotate wrmsr and rdmsr VM exits.
- Provide an alias for the userboot console and name it 'comconsole'.
- Use EV_ADD to create an mevent and EV_ENABLE to enable it.
- abort(3) the process in response to a VMEXIT_ABORT.
- Don't include the guest memory segments in the bhyve(8) process core dump.
- Make the vmx asm code dtrace-fbt-friendly.
- Allow vmx_getdesc() and vmx_setdesc() to be called for a vcpu that is in
  the VCPU_RUNNING state.
- Enable VMX in the IA32_FEATURE_CONTROL MSR if it not enabled and the MSR
  isn't locked.

git-svn-id: svn://svn.freebsd.org/base/stable/10@268953 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
26 files changed:
lib/libvmmapi/vmmapi.c
lib/libvmmapi/vmmapi.h
sys/amd64/vmm/intel/vmcs.c
sys/amd64/vmm/intel/vmcs.h
sys/amd64/vmm/intel/vmx.c
sys/amd64/vmm/intel/vmx.h
sys/amd64/vmm/intel/vmx_genassym.c
sys/amd64/vmm/intel/vmx_support.S
sys/amd64/vmm/io/vlapic.c
sys/amd64/vmm/vmm_ioport.c
sys/amd64/vmm/vmm_lapic.c
sys/boot/userboot/userboot/conf.c
sys/boot/userboot/userboot/userboot_cons.c
usr.sbin/bhyve/bhyve.8
usr.sbin/bhyve/bhyverun.c
usr.sbin/bhyve/block_if.c
usr.sbin/bhyve/inout.c
usr.sbin/bhyve/mevent.c
usr.sbin/bhyve/pci_ahci.c
usr.sbin/bhyve/pci_emul.c
usr.sbin/bhyve/pci_passthru.c
usr.sbin/bhyve/pci_virtio_block.c
usr.sbin/bhyve/pci_virtio_net.c
usr.sbin/bhyve/pci_virtio_rnd.c
usr.sbin/bhyve/uart_emul.c
usr.sbin/bhyve/xmsr.c