android_kernel_motorola_sm6225/arch/x86/kvm
Avi Kivity 543e424366 KVM: VMX: Add list of potentially locally cached vcpus
VMX hardware can cache the contents of a vcpu's vmcs.  This cache needs
to be flushed when migrating a vcpu to another cpu, or (which is the case
that interests us here) when disabling hardware virtualization on a cpu.

The current implementation of decaching iterates over the list of all vcpus,
picks the ones that are potentially cached on the cpu that is being offlined,
and flushes the cache.  The problem is that it uses mutex_trylock() to gain
exclusive access to the vcpu, which fires off a (benign) warning about using
the mutex in an interrupt context.

To avoid this, and to make things generally nicer, add a new per-cpu list
of potentially cached vcus.  This makes the decaching code much simpler.  The
list is vmx-specific since other hardware doesn't have this issue.

[andrea: fix crash on suspend/resume]

Signed-off-by: Andrea Arcangeli <andrea@qumranet.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
2008-07-20 12:42:24 +03:00
..
i8254.c KVM: PIT: support mode 3 2008-07-20 12:40:49 +03:00
i8254.h KVM: Add reset support for in kernel PIT 2008-04-27 12:00:23 +03:00
i8259.c KVM: Move arch dependent files to new directory arch/x86/kvm/ 2008-01-30 18:01:18 +02:00
irq.c KVM: migrate PIT timer 2008-06-06 21:25:51 +03:00
irq.h KVM: migrate PIT timer 2008-06-06 21:25:51 +03:00
Kconfig KVM: Add kvm trace userspace interface 2008-04-27 12:01:22 +03:00
kvm_svm.h KVM: SVM: allocate the MSR permission map per VCPU 2008-04-27 11:53:21 +03:00
lapic.c KVM: VMX: move APIC_ACCESS trace entry to generic code 2008-07-20 12:40:47 +03:00
lapic.h KVM: add statics were possible, function definition in lapic.h 2008-07-20 12:40:46 +03:00
Makefile KVM: Add kvm trace userspace interface 2008-04-27 12:01:22 +03:00
mmu.c KVM: MMU: Fix false flooding when a pte points to page table 2008-07-20 12:40:50 +03: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: Fix printk() format string 2008-06-06 21:36:20 +03:00
svm.c KVM: Handle virtualization instruction #UD faults during reboot 2008-07-20 12:41:43 +03:00
svm.h KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
tss.h KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
vmx.c KVM: VMX: Add list of potentially locally cached vcpus 2008-07-20 12:42:24 +03:00
vmx.h KVM: VMX: Enable EPT feature for KVM 2008-05-04 14:44:42 +03:00
x86.c KVM: VMX: Add list of potentially locally cached vcpus 2008-07-20 12:42:24 +03:00
x86_emulate.c KVM: x86 emulator: fix hypercall return value on AMD 2008-06-06 21:08:25 +03:00