linux/arch/ia64/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
..
asm-offsets.c KVM: ia64: Remove some macro definitions in asm-offsets.c. 2008-12-31 16:52:25 +02:00
irq.h KVM: ia64: Fix the build errors due to lack of macros related to MSI. 2009-03-24 11:03:13 +02:00
Kconfig KVM: remove old KVMTRACE support code 2009-09-10 08:33:03 +03:00
kvm_fw.c KVM: ia64: SN2 adjust emulated ITC frequency to match RTC frequency 2009-06-10 11:48:29 +03:00
kvm_lib.c KVM: ia64: fix ia64 build due to missing kallsyms_lookup() and double export 2009-06-28 14:10:30 +03:00
kvm_minstate.h KVM: ia64: Re-organize data sturure of guests' data area 2008-12-31 16:51:49 +02:00
kvm-ia64.c KVM: Activate Virtualization On Demand 2009-12-03 09:32:10 +02:00
lapic.h KVM: APIC: get rid of deliver_bitmask 2009-06-10 11:48:27 +03:00
Makefile KVM: Move assigned device code to own file 2009-12-03 09:32:09 +02:00
memcpy.S KVM: ia64: fix GVMM module including position-dependent objects 2008-05-18 14:34:16 +03:00
memset.S KVM: ia64: fix GVMM module including position-dependent objects 2008-05-18 14:34:16 +03:00
misc.h KVM: ia64: Re-organize data sturure of guests' data area 2008-12-31 16:51:49 +02:00
mmio.c KVM: ia64: fix build failures due to ia64/unsigned long mismatches 2009-08-05 15:04:16 +03:00
optvfault.S KVM: ia64: Drop in SN2 replacement of fast path ITC emulation fault handler 2009-06-10 11:48:29 +03:00
process.c [IA64] Remove unnecessary semicolons 2009-06-30 14:18:32 -07:00
trampoline.S KVM: ia64: Add trampoline for guest/host mode switch 2008-04-27 12:01:08 +03:00
vcpu.c KVM: Break dependency between vcpu index in vcpus array and vcpu_id. 2009-09-10 08:32:52 +03:00
vcpu.h KVM: ia64: fix build failures due to ia64/unsigned long mismatches 2009-08-05 15:04:16 +03:00
vmm_ivt.S KVM: ia64: enable external interrupt in vmm 2009-06-10 11:48:34 +03:00
vmm.c KVM: ia64: Drop in SN2 replacement of fast path ITC emulation fault handler 2009-06-10 11:48:29 +03:00
vti.h KVM: ia64: Add header files for kvm/ia64 2008-04-27 12:01:03 +03:00
vtlb.c [IA64] Remove unnecessary semicolons 2009-06-30 14:18:32 -07:00