freebsd-skq/sys/amd64/vmm
Peter Grehan aaaa065629 Correctly maintain the CR0/CR4 shadow registers.
This was exposed with AP spinup of Linux, and
booting OpenBSD, where the CR0 register is unconditionally
written to prior to the longjump to enter protected
mode. The CR-vmexit handling was not updating CPU state which
resulted in a vmentry failure with invalid guest state.

A follow-on submit will fix the CPU state issue, but this
fix prevents the CR-vmexit prior to entering protected
mode by properly initializing and maintaining CR* state.

Reviewed by:	neel
Reported by:	Gopakumar.T @ netapp
2013-08-01 01:18:51 +00:00
..
amd Maintain state regarding NMI delivery to guest vcpu in VT-x independent manner. 2012-10-24 02:54:21 +00:00
intel Correctly maintain the CR0/CR4 shadow registers. 2013-08-01 01:18:51 +00:00
io Fix a gcc warning uncovered after r251745. 2013-06-18 23:31:09 +00:00
vmm_dev.c Support array-type of stats in bhyve. 2013-05-10 02:59:49 +00:00
vmm_host.c Corral all the host state associated with the virtual machine into its own file. 2012-10-29 01:51:24 +00:00
vmm_host.h Corral all the host state associated with the virtual machine into its own file. 2012-10-29 01:51:24 +00:00
vmm_instruction_emul.c Add support for emulation of the "or r/m, imm8" instruction. 2013-07-23 23:43:00 +00:00
vmm_ipi.c Provide per-vcpu locks instead of relying on a single big lock. 2012-10-12 18:32:44 +00:00
vmm_ipi.h Provide per-vcpu locks instead of relying on a single big lock. 2012-10-12 18:32:44 +00:00
vmm_ktr.h
vmm_lapic.c Change emulate_rdmsr() and emulate_wrmsr() to return 0 on sucess and errno on 2012-11-28 13:10:18 +00:00
vmm_lapic.h Revamp the x86 instruction emulation in bhyve. 2012-11-28 00:02:17 +00:00
vmm_mem.c Set the valid field of the newly allocated field as all other 2012-10-26 22:32:26 +00:00
vmm_mem.h Allocate memory pages for the guest from the host's free page queue. 2012-10-08 23:41:26 +00:00
vmm_msr.c Change emulate_rdmsr() and emulate_wrmsr() to return 0 on sucess and errno on 2012-11-28 13:10:18 +00:00
vmm_msr.h
vmm_stat.c Support array-type of stats in bhyve. 2013-05-10 02:59:49 +00:00
vmm_stat.h Support array-type of stats in bhyve. 2013-05-10 02:59:49 +00:00
vmm_support.S
vmm_util.c
vmm_util.h
vmm.c Add RIP-relative addressing to the instruction decoder. 2013-04-25 04:56:43 +00:00
x86.c Make sure all CPUID values are handled, instead of exiting the 2013-06-28 06:05:33 +00:00
x86.h Handle CPUID leaf 0x7 now that FreeBSD is using it. 2012-11-20 06:01:03 +00:00