android_kernel_xiaomi_sdm845/virt/kvm
Alexander Graf 10474ae894 KVM: Activate Virtualization On Demand
X86 CPUs need to have some magic happening to enable the virtualization
extensions on them. This magic can result in unpleasant results for
users, like blocking other VMMs from working (vmx) or using invalid TLB
entries (svm).

Currently KVM activates virtualization when the respective kernel module
is loaded. This blocks us from autoloading KVM modules without breaking
other VMMs.

To circumvent this problem at least a bit, this patch introduces on
demand activation of virtualization. This means, that instead
virtualization is enabled on creation of the first virtual machine
and disabled on destruction of the last one.

So using this, KVM can be easily autoloaded, while keeping other
hypervisors usable.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
2009-12-03 09:32:10 +02:00
..
assigned-dev.c KVM: Move assigned device code to own file 2009-12-03 09:32:09 +02:00
coalesced_mmio.c KVM: make io_bus interface more robust 2009-09-10 08:33:12 +03:00
coalesced_mmio.h KVM: move coalesced_mmio locking to its own device 2009-09-10 08:32:49 +03:00
eventfd.c KVM: Drop kvm->irq_lock lock from irq injection path 2009-12-03 09:32:08 +02:00
ioapic.c KVM: Move IO APIC to its own lock 2009-12-03 09:32:08 +02:00
ioapic.h KVM: Move IO APIC to its own lock 2009-12-03 09:32:08 +02:00
iodev.h KVM: remove in_range from io devices 2009-09-10 08:33:05 +03:00
iommu.c KVM: Enable snooping control for supported hardware 2009-06-10 11:48:50 +03:00
irq_comm.c KVM: Drop kvm->irq_lock lock from irq injection path 2009-12-03 09:32:08 +02:00
Kconfig KVM: Break dependency between vcpu index in vcpus array and vcpu_id. 2009-09-10 08:32:52 +03:00
kvm_main.c KVM: Activate Virtualization On Demand 2009-12-03 09:32:10 +02:00