qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: More than 255 vcpus Windows VM setup without viommu ?


From: Sandesh Patel
Subject: Re: More than 255 vcpus Windows VM setup without viommu ?
Date: Tue, 16 Jul 2024 05:13:54 +0000



On 11 Jul 2024, at 5:22 PM, Sandesh Patel <sandesh.patel@nutanix.com> wrote:

Thanks David for all the analysis.

Looking at the Linux guest support, it seems to look just at the HyperV
CPUID leaves 0x40000081 and 0x40000082. QEMU knows of those only for
SYNDBG; Sandesh do you want to try setting the
HYPERV_VS_PROPERTIES_EAX_EXTENDED_IOAPIC_RTE bit that Linux looks for,
and see how that affects Windows guests (with no emulated IOMMU)?



I am enabling same bit (BIT(2) under HYPERV_CPUID_SYNDBG_PLATFORM_CAPABILITIES (0x40000082) with simple kvm patch (need to check how do we switch to 15 bit destination id when enabling this)-


diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c
index 04cca46fed1e..b9e74b791247 100644
--- a/arch/x86/kvm/hyperv.c
+++ b/arch/x86/kvm/hyperv.c
@@ -2567,6 +2567,7 @@ int kvm_get_hv_cpuid(struct kvm_vcpu *vcpu, struct kvm_cpuid2 *cpuid,
 
                case HYPERV_CPUID_SYNDBG_PLATFORM_CAPABILITIES:
                        ent->eax |= HV_X64_SYNDBG_CAP_ALLOW_KERNEL_DEBUGGING;
+                      ent->eax |= HYPERV_VS_PROPERTIES_EAX_EXTENDED_IOAPIC_RTE;
                        break;
 
                default:
diff --git a/arch/x86/kvm/hyperv.h b/arch/x86/kvm/hyperv.h
index 1030b1b50552..384585a1f165 100644
--- a/arch/x86/kvm/hyperv.h
+++ b/arch/x86/kvm/hyperv.h
@@ -41,6 +41,7 @@
  * These are HYPERV_CPUID_SYNDBG_PLATFORM_CAPABILITIES.EAX bits.
  */
 #define HV_X64_SYNDBG_CAP_ALLOW_KERNEL_DEBUGGING       BIT(1)
+#define HYPERV_VS_PROPERTIES_EAX_EXTENDED_IOAPIC_RTE   BIT(2)
 
 /* Hyper-V Synthetic debug options MSR */
 #define HV_X64_MSR_SYNDBG_CONTROL              0x400000F1


I am hitting an issue where the Windows guest is not booting (guest reset in loop) when adding hv-syndbg hyperv feature (or using hv-passthrough). Possibly an occurrence of - https://patchew.org/QEMU/20230612084201.294248-1-vkuznets@redhat.com/
Anything special to take care here?

Regards,
Sandesh

reply via email to

[Prev in Thread] Current Thread [Next in Thread]