mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-30 15:44:13 +08:00
c09dd2bb57
Register KVM's cpuhp and syscore callbacks when enabling virtualization in hardware, as the sole purpose of said callbacks is to disable and re-enable virtualization as needed. The primary motivation for this series is to simplify dealing with enabling virtualization for Intel's TDX, which needs to enable virtualization when kvm-intel.ko is loaded, i.e. long before the first VM is created. That said, this is a nice cleanup on its own. By registering the callbacks on-demand, the callbacks themselves don't need to check kvm_usage_count, because their very existence implies a non-zero count. Patch 1 (re)adds a dedicated lock for kvm_usage_count. This avoids a lock ordering issue between cpus_read_lock() and kvm_lock. The lock ordering issue still exist in very rare cases, and will be fixed for good by switching vm_list to an (S)RCU-protected list. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> |
||
---|---|---|
.. | ||
aia_aplic.c | ||
aia_device.c | ||
aia_imsic.c | ||
aia.c | ||
Kconfig | ||
main.c | ||
Makefile | ||
mmu.c | ||
tlb.c | ||
trace.h | ||
vcpu_exit.c | ||
vcpu_fp.c | ||
vcpu_insn.c | ||
vcpu_onereg.c | ||
vcpu_pmu.c | ||
vcpu_sbi_base.c | ||
vcpu_sbi_hsm.c | ||
vcpu_sbi_pmu.c | ||
vcpu_sbi_replace.c | ||
vcpu_sbi_sta.c | ||
vcpu_sbi_v01.c | ||
vcpu_sbi.c | ||
vcpu_switch.S | ||
vcpu_timer.c | ||
vcpu_vector.c | ||
vcpu.c | ||
vm.c | ||
vmid.c |