freebsd-dev/sys/amd64/vmm
Neel Natu c3498942a5 Restructure the MSR handling so it is entirely handled by processor-specific
code. There are only a handful of MSRs common between the two so there isn't
too much duplicate functionality.

The VT-x code has the following types of MSRs:

- MSRs that are unconditionally saved/restored on every guest/host context
  switch (e.g., MSR_GSBASE).

- MSRs that are restored to guest values on entry to vmx_run() and saved
  before returning. This is an optimization for MSRs that are not used in
  host kernel context (e.g., MSR_KGSBASE).

- MSRs that are emulated and every access by the guest causes a trap into
  the hypervisor (e.g., MSR_IA32_MISC_ENABLE).

Reviewed by:	grehan
2014-09-20 02:35:21 +00:00
..
amd Re-write bhyve's I/O MMU handling in terms of PCI RID. 2014-04-01 15:54:03 +00:00
intel Restructure the MSR handling so it is entirely handled by processor-specific 2014-09-20 02:35:21 +00:00
io Return the spurious interrupt vector (IRQ7 or IRQ15) if the atpic cannot 2014-08-23 21:16:26 +00:00
vmm_dev.c Handle nested exceptions in bhyve. 2014-07-19 20:59:08 +00:00
vmm_host.c - Rework the XSAVE/XRSTOR emulation to only expose XCR0 features to the 2014-05-27 19:04:38 +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 The "SUB" instruction used in getcc() actually does 'x -= y' so use the 2014-08-30 19:59:42 +00:00
vmm_ioport.c Add segment protection and limits violation checks in vie_calculate_gla() 2014-05-27 04:26:22 +00:00
vmm_ioport.h Add emulation of the "outsb" instruction. NetBSD guests use this to write to 2014-05-23 05:15:17 +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 emulation of the "outsb" instruction. NetBSD guests use this to write to 2014-05-23 05:15:17 +00:00
vmm_lapic.c Local APIC access via 32-bit naturally-aligned loads is merely 2014-04-15 17:06:26 +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_stat.c Expose the amount of resident and wired memory from the guest's vmspace. 2014-06-25 22:13:35 +00:00
vmm_stat.h Expose the amount of resident and wired memory from the guest's vmspace. 2014-06-25 22:13:35 +00:00
vmm_support.S
vmm_util.c
vmm_util.h
vmm.c Restructure the MSR handling so it is entirely handled by processor-specific 2014-09-20 02:35:21 +00:00
x86.c Add "hw.vmm.topology.threads_per_core" and "hw.vmm.topology.cores_per_package" 2014-08-24 01:10:06 +00:00
x86.h Allow CPUID leaf 0xD to be read as zeroes. 2013-09-06 05:16:10 +00:00