diff --git a/pkg/hostman/guestman/arch/arch.go b/pkg/hostman/guestman/arch/arch.go index a7d57e9e4b..ed5b6825d6 100644 --- a/pkg/hostman/guestman/arch/arch.go +++ b/pkg/hostman/guestman/arch/arch.go @@ -33,13 +33,12 @@ type Arch interface { } type KVMGuestInstance interface { - HasGpu() bool IsOldWindows() bool GetOsName() string GetKernelVersion() string CpuMax() (uint, error) - IsEnabledNestedVirt() bool + IsNestedVirt() bool IsKvmSupport() bool } diff --git a/pkg/hostman/guestman/arch/x86.go b/pkg/hostman/guestman/arch/x86.go index fd145ecc80..de3ef9256d 100644 --- a/pkg/hostman/guestman/arch/x86.go +++ b/pkg/hostman/guestman/arch/x86.go @@ -132,7 +132,10 @@ func (x86 *X86) GenerateCpuDesc(cpus uint, s KVMGuestInstance) (*desc.SGuestCpu, if err != nil { return nil, err } - hideKVM := !s.IsEnabledNestedVirt() || s.HasGpu() + var hideKVM = true + if s.IsNestedVirt() { + hideKVM = false + } var hostCPUPassthrough = options.HostOptions.HostCpuPassthrough var isCPUIntel = sysutils.IsProcessorIntel() @@ -171,7 +174,7 @@ func (x86 *X86) GenerateCpuDesc(cpus uint, s KVMGuestInstance) (*desc.SGuestCpu, } } - if !hideKVM { + if hideKVM { features["kvm"] = false } } else { diff --git a/pkg/hostman/guestman/qemu-kvmhelper.go b/pkg/hostman/guestman/qemu-kvmhelper.go index 806a652803..bfd37b586b 100644 --- a/pkg/hostman/guestman/qemu-kvmhelper.go +++ b/pkg/hostman/guestman/qemu-kvmhelper.go @@ -115,7 +115,7 @@ func (s *SKVMGuestInstance) IsKvmSupport() bool { return s.manager.GetHost().IsKvmSupport() } -func (s *SKVMGuestInstance) IsEnabledNestedVirt() bool { +func (s *SKVMGuestInstance) IsNestedVirt() bool { return s.manager.GetHost().IsNestedVirtualization() } @@ -733,15 +733,6 @@ func (s *SKVMGuestInstance) startMemCleaner() error { return nil } -func (s *SKVMGuestInstance) HasGpu() bool { - for i := 0; i < len(s.Desc.IsolatedDevices); i++ { - if s.Desc.IsolatedDevices[i].DevType != api.USB_TYPE { - return true - } - } - return false -} - func (s *SKVMGuestInstance) gpusHasVga() bool { manager := s.manager.GetHost().GetIsolatedDeviceManager() for i := 0; i < len(s.Desc.IsolatedDevices); i++ {