linux/arch/x86/kvm
Gleb Natapov ab344828eb KVM: x86: fix checking of cr0 validity
Move to/from Control Registers chapter of Intel SDM says.  "Reserved bits
in CR0 remain clear after any load of those registers; attempts to set
them have no impact". Control Register chapter says "Bits 63:32 of CR0 are
reserved and must be written with zeros. Writing a nonzero value to any
of the upper 32 bits results in a general-protection exception, #GP(0)."

This patch tries to implement this twisted logic.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Reported-by: Lorenzo Martignoni <martignlo@gmail.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
2010-03-01 12:36:03 -03:00
..
emulate.c KVM: x86: Use macros for x86_emulate_ops to avoid future mistakes 2010-03-01 12:36:01 -03:00
i8254.c KVM: convert slots_lock to a mutex 2010-03-01 12:35:45 -03:00
i8254.h KVM: PIT support for HPET legacy mode 2009-09-10 08:33:12 +03:00
i8259.c KVM: convert slots_lock to a mutex 2010-03-01 12:35:45 -03:00
irq.c KVM: Remove irq_pending bitmap 2009-06-10 11:48:57 +03:00
irq.h KVM: x86: disallow multiple KVM_CREATE_IRQCHIP 2009-12-03 09:32:23 +02:00
Kconfig KVM: Add KVM_MMIO kconfig item 2010-03-01 12:35:41 -03:00
kvm_cache_regs.h KVM: VMX: Allow the guest to own some cr0 bits 2010-03-01 12:35:50 -03:00
kvm_timer.h KVM: Use pointer to vcpu instead of vcpu_id in timer code. 2009-09-10 08:32:52 +03:00
lapic.c KVM: Add HYPER-V apic access MSRs 2010-03-01 12:36:00 -03:00
lapic.h KVM: Add HYPER-V apic access MSRs 2010-03-01 12:36:00 -03:00
Makefile KVM: Move assigned device code to own file 2009-12-03 09:32:09 +02:00
mmu.c KVM: rename is_writeble_pte() to is_writable_pte() 2010-03-01 12:36:00 -03:00
mmu.h KVM: Replace read accesses of vcpu->arch.cr0 by an accessor 2010-03-01 12:35:50 -03:00
mmutrace.h KVM: Trace shadow page lifecycle 2009-09-10 08:33:10 +03:00
paging_tmpl.h KVM: rename is_writeble_pte() to is_writable_pte() 2010-03-01 12:36:00 -03:00
svm.c KVM: SVM: Trap all debug register accesses 2010-03-01 12:36:02 -03:00
timer.c KVM: Drop useless atomic test from timer function 2009-09-10 08:32:57 +03:00
trace.h KVM: Implement bare minimum of HYPER-V MSRs 2010-03-01 12:35:57 -03:00
tss.h KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
vmx.c KVM: VMX: Clean up DR6 emulation 2010-03-01 12:36:02 -03:00
x86.c KVM: x86: fix checking of cr0 validity 2010-03-01 12:36:03 -03:00
x86.h KVM: Add Directed EOI support to APIC emulation 2009-09-10 08:33:07 +03:00