[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: More than 255 vcpus Windows VM setup without viommu ?
From: |
David Woodhouse |
Subject: |
Re: More than 255 vcpus Windows VM setup without viommu ? |
Date: |
Wed, 24 Jul 2024 10:22:03 +0100 |
User-agent: |
Evolution 3.44.4-0ubuntu2 |
On Tue, 2024-07-16 at 05:13 +0000, Sandesh Patel wrote:
>
>
> > 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?
As a simple test, have you tried just *not* setting the
ALLOW_KERNEL_DEBUGGING bit? Just comment that line out? So we're only
setting the magic value in 0x40000081 and then the extended I/OAPIC RTE
bit in 0x40000082?
Although we've heard separately that this *isn't* implemented in
Windows, so we guess it isn't going to work.
smime.p7s
Description: S/MIME cryptographic signature
- More than 255 vcpus Windows VM setup without viommu ?, Sandesh Patel, 2024/07/02
- More than 255 vcpus Windows VM setup without viommu ?, Sandesh Patel, 2024/07/02
- Re: More than 255 vcpus Windows VM setup without viommu ?, David Woodhouse, 2024/07/02
- Re: More than 255 vcpus Windows VM setup without viommu ?, Sandesh Patel, 2024/07/03
- Re: More than 255 vcpus Windows VM setup without viommu ?, David Woodhouse, 2024/07/08
- Re: More than 255 vcpus Windows VM setup without viommu ?, David Woodhouse, 2024/07/11
- Re: More than 255 vcpus Windows VM setup without viommu ?, David Woodhouse, 2024/07/11
- Re: More than 255 vcpus Windows VM setup without viommu ?, Sandesh Patel, 2024/07/11
- Re: More than 255 vcpus Windows VM setup without viommu ?, Sandesh Patel, 2024/07/16
- Re: More than 255 vcpus Windows VM setup without viommu ?,
David Woodhouse <=