mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-06-04 08:24:26 +08:00
fix(host): kvm detect and iommu probe (#16245)
- use lsmod check kvm modules on /dev/kvm exist - don't check grub params "intel_iommu=on" on kvm_intel not loaded Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
This commit is contained in:
@@ -82,19 +82,31 @@ func isDevKVMExists() bool {
|
||||
|
||||
func detectKVMModuleSupport() string {
|
||||
var km = KVM_MODULE_UNSUPPORT
|
||||
if ModprobeKvmModule(KVM_MODULE_INTEL, false, false) {
|
||||
km = KVM_MODULE_INTEL
|
||||
} else if ModprobeKvmModule(KVM_MODULE_AMD, false, false) {
|
||||
km = KVM_MODULE_AMD
|
||||
} else if ModprobeKvmModule(KVM_MODULE, false, false) {
|
||||
if isDevKVMExists() {
|
||||
if isDevKVMExists() {
|
||||
if IsKernelModuleLoaded(KVM_MODULE_INTEL) {
|
||||
km = KVM_MODULE_INTEL
|
||||
} else if IsKernelModuleLoaded(KVM_MODULE_AMD) {
|
||||
km = KVM_MODULE_AMD
|
||||
} else if IsKernelModuleLoaded(KVM_MODULE) {
|
||||
km = KVM_MODULE
|
||||
}
|
||||
}
|
||||
if km == KVM_MODULE_UNSUPPORT {
|
||||
if isDevKVMExists() {
|
||||
} else {
|
||||
km = KVM_MODULE_BUILDIN
|
||||
}
|
||||
} else {
|
||||
if ModprobeKvmModule(KVM_MODULE_INTEL, false, false) {
|
||||
km = KVM_MODULE_INTEL
|
||||
} else if ModprobeKvmModule(KVM_MODULE_AMD, false, false) {
|
||||
km = KVM_MODULE_AMD
|
||||
} else if ModprobeKvmModule(KVM_MODULE, false, false) {
|
||||
if isDevKVMExists() {
|
||||
km = KVM_MODULE
|
||||
}
|
||||
}
|
||||
if km == KVM_MODULE_UNSUPPORT {
|
||||
if isDevKVMExists() {
|
||||
km = KVM_MODULE_BUILDIN
|
||||
}
|
||||
}
|
||||
}
|
||||
return km
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user