linux/arch/x86/kvm
Ben Serebrin 085e68eeaf KVM: VMX: Preserve host CR4.MCE value while in guest mode.
The host's decision to enable machine check exceptions should remain
in force during non-root mode.  KVM was writing 0 to cr4 on VCPU reset
and passed a slightly-modified 0 to the vmcs.guest_cr4 value.

Tested: Built.
On earlier version, tested by injecting machine check
while a guest is spinning.

Before the change, if guest CR4.MCE==0, then the machine check is
escalated to Catastrophic Error (CATERR) and the machine dies.
If guest CR4.MCE==1, then the machine check causes VMEXIT and is
handled normally by host Linux. After the change, injecting a machine
check causes normal Linux machine check handling.

Signed-off-by: Ben Serebrin <serebrin@google.com>
Reviewed-by: Venkatesh Srinivas <venkateshs@google.com>
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-04-21 19:01:44 +02:00
..
assigned-dev.c KVM: x86: move device assignment out of kvm_host.h 2014-11-24 16:53:50 +01:00
assigned-dev.h KVM: x86: move device assignment out of kvm_host.h 2014-11-24 16:53:50 +01:00
cpuid.c KVM: x86: cache maxphyaddr CPUID leaf in struct kvm_vcpu 2015-04-08 10:46:56 +02:00
cpuid.h KVM: x86: cache maxphyaddr CPUID leaf in struct kvm_vcpu 2015-04-08 10:46:56 +02:00
emulate.c kvm: x86: fix x86 eflags fixed bit 2015-04-08 10:46:52 +02:00
i8254.c KVM: Redesign kvm_io_bus_ API to pass VCPU structure to the callbacks. 2015-03-26 21:43:11 +00:00
i8254.h KVM: move iodev.h from virt/kvm/ to include/kvm 2015-03-26 21:43:12 +00:00
i8259.c KVM/ARM changes for v4.1: 2015-04-07 18:09:20 +02:00
ioapic.c The most interesting bit here is irqfd/ioeventfd support for ARM and ARM64. 2015-04-13 09:47:01 -07:00
ioapic.h KVM/ARM changes for v4.1: 2015-04-07 18:09:20 +02:00
iommu.c kvm: iommu: Add cond_resched to legacy device assignment code 2015-01-27 21:31:12 +01:00
irq_comm.c kvm: remove CONFIG_X86 #ifdefs from files formerly shared with ia64 2014-11-21 18:07:26 +01:00
irq.c KVM: nVMX: fix "acknowledge interrupt on exit" when APICv is in use 2014-08-05 15:00:24 +02:00
irq.h KVM: move iodev.h from virt/kvm/ to include/kvm 2015-03-26 21:43:12 +00:00
Kconfig Fairly small update, but there are some interesting new features. 2015-02-13 09:55:09 -08:00
kvm_cache_regs.h
lapic.c KVM: x86: cleanup kvm_irq_delivery_to_apic_fast 2015-04-14 18:09:51 +02:00
lapic.h KVM: x86: simplify kvm_apic_map 2015-04-08 10:47:01 +02:00
Makefile KVM: x86: remove now unneeded include directory from Makefile 2015-03-26 21:43:13 +00:00
mmu_audit.c arch/x86: replace strict_strto calls 2014-08-08 15:57:28 -07:00
mmu.c KVM: MMU: fix comment in kvm_mmu_zap_collapsible_spte 2015-04-15 17:07:46 +02:00
mmu.h KVM: x86: #PF error-code on R/W operations is wrong 2015-01-09 10:24:11 +01:00
mmutrace.h x86/kvm/tracing: Use helper function trace_seq_buffer_ptr() 2014-11-19 15:25:36 -05:00
paging_tmpl.h KVM: x86: Wrong assertion on paging_tmpl.h 2014-10-24 13:30:37 +02:00
pmu.c KVM: x86: For the symbols used locally only should be static type 2015-03-17 22:38:28 -03:00
svm.c KVM: x86: BSP in MSR_IA32_APICBASE is writable 2015-04-08 10:47:02 +02:00
trace.h KVM: VMX: Add PML support in VMX 2015-01-30 09:39:54 +01:00
tss.h
vmx.c KVM: VMX: Preserve host CR4.MCE value while in guest mode. 2015-04-21 19:01:44 +02:00
x86.c KVM: x86: Fix MSR_IA32_BNDCFGS in msrs_to_save 2015-04-14 18:09:50 +02:00
x86.h kvm: x86: Remove kvm_make_request from lapic.c 2015-01-08 22:48:08 +01:00