freebsd-skq/sys/amd64/vmm
John Baldwin abb023fb95 Add virtualized XSAVE support to bhyve which permits guests to use XSAVE and
XSAVE-enabled features like AVX.
- Store a per-cpu guest xcr0 register.  When switching to the guest FPU
  state, switch to the guest xcr0 value.  Note that the guest FPU state is
  saved and restored using the host's xcr0 value and xcr0 is saved/restored
  "inside" of saving/restoring the guest FPU state.
- Handle VM exits for the xsetbv instruction by updating the guest xcr0.
- Expose the XSAVE feature to the guest only if the host has enabled XSAVE,
  and only advertise XSAVE features enabled by the host to the guest.
  This ensures that the guest will only adjust FPU state that is a subset
  of the guest FPU state saved and restored by the host.

Reviewed by:	grehan
2014-02-08 16:37:54 +00:00
..
amd Add an API to rendezvous all active vcpus in a virtual machine. The rendezvous 2014-01-14 01:55:58 +00:00
intel Add virtualized XSAVE support to bhyve which permits guests to use XSAVE and 2014-02-08 16:37:54 +00:00
io Support level triggered interrupts with VT-x virtual interrupt delivery. 2014-01-25 20:58:05 +00:00
vmm_dev.c Enhance the support for PCI legacy INTx interrupts and enable them in 2014-01-29 14:56:48 +00:00
vmm_host.c Add virtualized XSAVE support to bhyve which permits guests to use XSAVE and 2014-02-08 16:37:54 +00:00
vmm_host.h Add virtualized XSAVE support to bhyve which permits guests to use XSAVE and 2014-02-08 16:37:54 +00:00
vmm_instruction_emul.c Add support for FreeBSD/i386 guests under bhyve. 2014-02-05 04:39:03 +00:00
vmm_ipi.c Move <machine/apicvar.h> to <x86/apicvar.h>. 2014-01-23 20:10:22 +00:00
vmm_ipi.h Don't expose 'vmm_ipinum' as a global. 2014-01-09 03:25:54 +00:00
vmm_ktr.h Add support for level triggered interrupt pins on the vioapic. Prior to this 2013-11-27 22:18:08 +00:00
vmm_lapic.c Allow vlapic_set_intr_ready() to return a value that indicates whether or not 2014-01-07 00:38:22 +00:00
vmm_lapic.h vlapic code restructuring to make it easy to support hardware-assist for APIC 2013-12-25 06:46:31 +00:00
vmm_mem.c Merge projects/bhyve_npt_pmap into head. 2013-10-05 21:22:35 +00:00
vmm_mem.h Merge projects/bhyve_npt_pmap into head. 2013-10-05 21:22:35 +00:00
vmm_msr.c Fix x2apic support in bhyve. 2013-12-10 22:56:51 +00:00
vmm_msr.h Fix x2apic support in bhyve. 2013-12-10 22:56:51 +00:00
vmm_stat.c Add a counter to differentiate between VM-exits due to nested paging faults 2014-02-08 06:22:09 +00:00
vmm_stat.h Add a counter to differentiate between VM-exits due to nested paging faults 2014-02-08 06:22:09 +00:00
vmm_support.S
vmm_util.c
vmm_util.h
vmm.c Add virtualized XSAVE support to bhyve which permits guests to use XSAVE and 2014-02-08 16:37:54 +00:00
x86.c Add virtualized XSAVE support to bhyve which permits guests to use XSAVE and 2014-02-08 16:37:54 +00:00
x86.h Allow CPUID leaf 0xD to be read as zeroes. 2013-09-06 05:16:10 +00:00