linux/arch/x86/kvm
Alexander Graf d80174745b KVM: SVM: Only allow setting of EFER_SVME when CPUID SVM is set
Userspace has to tell the kernel module somehow that nested SVM should be used.
The easiest way that doesn't break anything I could think of is to implement

if (cpuid & svm)
    allow write to efer
else
    deny write to efer

Old userspaces mask the SVM capability bit, so they don't break.
In order to find out that the SVM capability is set, I had to split the
kvm_emulate_cpuid into a finding and an emulating part.

(introduced in v6)

Acked-by: Joerg Roedel <joro@8bytes.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
2009-03-24 11:02:48 +02:00
..
Kconfig KVM: Require the PCI subsystem 2008-11-11 20:56:13 +02:00
Makefile KVM: change KVM to use IOMMU API 2009-01-03 14:11:07 +01:00
i8254.c KVM: PIT: fix i8254 pending count read 2009-02-15 02:47:36 +02:00
i8254.h KVM: Fix guest shared interrupt with in-kernel irqchip 2008-10-28 14:21:34 +02:00
i8259.c KVM: Add locking to virtual i8259 interrupt controller 2008-12-31 16:55:48 +02:00
irq.c KVM: x86: fix LAPIC pending count calculation 2009-02-15 02:47:38 +02:00
irq.h KVM: x86: fix LAPIC pending count calculation 2009-02-15 02:47:38 +02:00
kvm_cache_regs.h KVM: x86: accessors for guest registers 2008-10-15 10:13:57 +02:00
kvm_svm.h KVM: SVM: Add VMRUN handler 2009-03-24 11:02:47 +02:00
lapic.c KVM: x86: fix LAPIC pending count calculation 2009-02-15 02:47:38 +02:00
lapic.h KVM: x86: fix LAPIC pending count calculation 2009-02-15 02:47:38 +02:00
mmu.c KVM: MMU: Map device MMIO as UC in EPT 2009-02-15 02:47:37 +02:00
mmu.h KVM: MMU: Fix false flooding when a pte points to page table 2008-07-20 12:40:50 +03:00
paging_tmpl.h KVM: MMU: handle large host sptes on invlpg/resync 2008-12-31 16:55:49 +02:00
svm.c KVM: SVM: Allow setting the SVME bit 2009-03-24 11:02:48 +02:00
tss.h KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
vmx.c KVM: VMX: Flush volatile msrs before emulating rdmsr 2009-02-15 02:47:39 +02:00
x86.c KVM: SVM: Only allow setting of EFER_SVME when CPUID SVM is set 2009-03-24 11:02:48 +02:00
x86.h KVM: Add a pending interrupt queue 2008-10-15 10:15:13 +02:00
x86_emulate.c KVM: x86 emulator: Fix handling of VMMCALL instruction 2008-12-31 16:55:43 +02:00