diff mbox

kvm: "warning: host doesn't support requested feature: CPUID.01H:ECX.x2apic [bit 21]"

Message ID CAOLK0pz4RPeRfTB3JSHC0H23DVe_1qGZ+Yg0r-gBk+QfkEQCow@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tianyu Lan Feb. 25, 2016, 8:33 a.m. UTC
2016-02-20 17:00 GMT+08:00 Paolo Bonzini <pbonzini@redhat.com>:
>
>
> ----- Original Message -----
>> From: "Jan Kiszka" <jan.kiszka@web.de>
>> To: "Eduardo Habkost" <ehabkost@redhat.com>, "Paolo Bonzini" <pbonzini@redhat.com>
>> Cc: "qemu-devel" <qemu-devel@nongnu.org>, "kvm" <kvm@vger.kernel.org>
>> Sent: Saturday, February 20, 2016 9:09:32 AM
>> Subject: kvm: "warning: host doesn't support requested feature: CPUID.01H:ECX.x2apic [bit 21]"
>>
>> Hi all,
>>
>> I suppose 5120901a37 introduced this: qemu with kernel_irqchip=off now
>> generates these warnings, one per VCPU, during QEMU startup. Is the plan
>> to live with them until we finally have x2APIC emulation in userspace
>> (ie. also MSR vmexiting to there), or should we otherwise avoid it?
>
> I think it's a bug, x2apic should be auto-suppressed with kernel_irqchip=off.
>

The patch is to fix the issue.
------------------------------------->8----------------------------
From 58f2a3a94c8e7bf9f3474bcafb6c59cc4f8bcbd9 Mon Sep 17 00:00:00 2001
From: Lan Tianyu <tianyu.lan@intel.com>
Date: Sun, 15 Jul 2001 01:40:17 -0400
Subject: [PATCH] Qemu/KVM: Remove x2apic feature from CPU model when
 kernel_irqchip=off

x2apic feature is in the kvm_default_props and automatically added to all
CPU models when KVM is enabled regardless of kernel_irqchip=off. This will
trigger "warning: host doesn't support requested feature: CPUID.01H:
ECX.x2apic [bit 21]" when kernel_irqchip=off. This patch is to remove x2apic
feature when kernel_irqchip=off.

Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
---
 target-i386/cpu.c | 3 +++
 1 file changed, 3 insertions(+)


--
1.9.3
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Jan Kiszka Feb. 25, 2016, 8:39 a.m. UTC | #1
On 2016-02-25 09:33, Lan Tianyu wrote:
> 2016-02-20 17:00 GMT+08:00 Paolo Bonzini <pbonzini@redhat.com>:
>>
>>
>> ----- Original Message -----
>>> From: "Jan Kiszka" <jan.kiszka@web.de>
>>> To: "Eduardo Habkost" <ehabkost@redhat.com>, "Paolo Bonzini" <pbonzini@redhat.com>
>>> Cc: "qemu-devel" <qemu-devel@nongnu.org>, "kvm" <kvm@vger.kernel.org>
>>> Sent: Saturday, February 20, 2016 9:09:32 AM
>>> Subject: kvm: "warning: host doesn't support requested feature: CPUID.01H:ECX.x2apic [bit 21]"
>>>
>>> Hi all,
>>>
>>> I suppose 5120901a37 introduced this: qemu with kernel_irqchip=off now
>>> generates these warnings, one per VCPU, during QEMU startup. Is the plan
>>> to live with them until we finally have x2APIC emulation in userspace
>>> (ie. also MSR vmexiting to there), or should we otherwise avoid it?
>>
>> I think it's a bug, x2apic should be auto-suppressed with kernel_irqchip=off.
>>
> 
> The patch is to fix the issue.
> ------------------------------------->8----------------------------
> From 58f2a3a94c8e7bf9f3474bcafb6c59cc4f8bcbd9 Mon Sep 17 00:00:00 2001
> From: Lan Tianyu <tianyu.lan@intel.com>
> Date: Sun, 15 Jul 2001 01:40:17 -0400
> Subject: [PATCH] Qemu/KVM: Remove x2apic feature from CPU model when
>  kernel_irqchip=off
> 
> x2apic feature is in the kvm_default_props and automatically added to all
> CPU models when KVM is enabled regardless of kernel_irqchip=off. This will
> trigger "warning: host doesn't support requested feature: CPUID.01H:
> ECX.x2apic [bit 21]" when kernel_irqchip=off. This patch is to remove x2apic
> feature when kernel_irqchip=off.

We know this, but it's probably worth to mention the underlying reason
here: userspace devices don't support x2APIC.

> 
> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
> ---
>  target-i386/cpu.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index 0d447b5..2ec7eb7 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -2105,6 +2105,9 @@ static void x86_cpu_load_def(X86CPU *cpu,
> X86CPUDefinition *def, Error **errp)
> 
>      /* Special cases not set in the X86CPUDefinition structs: */
>      if (kvm_enabled()) {
> +           if (!kvm_irqchip_in_kernel())
> +               x86_cpu_change_kvm_default("x2apic", "off");
> +
>          x86_cpu_apply_props(cpu, kvm_default_props);
>      }
> 
> --
> 1.9.3
> 

Make sure to comply with the coding style (there is a checkpatch.pl also
in QEMU). And please post as a new thread with proper subject, otherwise
people (and tools) will not find your patch as such.

Jan
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tianyu Lan Feb. 25, 2016, 12:31 p.m. UTC | #2
2016-02-25 16:39 GMT+08:00 Jan Kiszka <jan.kiszka@web.de>:
> On 2016-02-25 09:33, Lan Tianyu wrote:
>> 2016-02-20 17:00 GMT+08:00 Paolo Bonzini <pbonzini@redhat.com>:
>>>
>>>
>>> ----- Original Message -----
>>>> From: "Jan Kiszka" <jan.kiszka@web.de>
>>>> To: "Eduardo Habkost" <ehabkost@redhat.com>, "Paolo Bonzini" <pbonzini@redhat.com>
>>>> Cc: "qemu-devel" <qemu-devel@nongnu.org>, "kvm" <kvm@vger.kernel.org>
>>>> Sent: Saturday, February 20, 2016 9:09:32 AM
>>>> Subject: kvm: "warning: host doesn't support requested feature: CPUID.01H:ECX.x2apic [bit 21]"
>>>>
>>>> Hi all,
>>>>
>>>> I suppose 5120901a37 introduced this: qemu with kernel_irqchip=off now
>>>> generates these warnings, one per VCPU, during QEMU startup. Is the plan
>>>> to live with them until we finally have x2APIC emulation in userspace
>>>> (ie. also MSR vmexiting to there), or should we otherwise avoid it?
>>>
>>> I think it's a bug, x2apic should be auto-suppressed with kernel_irqchip=off.
>>>
>>
>> The patch is to fix the issue.
>> ------------------------------------->8----------------------------
>> From 58f2a3a94c8e7bf9f3474bcafb6c59cc4f8bcbd9 Mon Sep 17 00:00:00 2001
>> From: Lan Tianyu <tianyu.lan@intel.com>
>> Date: Sun, 15 Jul 2001 01:40:17 -0400
>> Subject: [PATCH] Qemu/KVM: Remove x2apic feature from CPU model when
>>  kernel_irqchip=off
>>
>> x2apic feature is in the kvm_default_props and automatically added to all
>> CPU models when KVM is enabled regardless of kernel_irqchip=off. This will
>> trigger "warning: host doesn't support requested feature: CPUID.01H:
>> ECX.x2apic [bit 21]" when kernel_irqchip=off. This patch is to remove x2apic
>> feature when kernel_irqchip=off.
>
> We know this, but it's probably worth to mention the underlying reason
> here: userspace devices don't support x2APIC.
>
>>
>> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
>> ---
>>  target-i386/cpu.c | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
>> index 0d447b5..2ec7eb7 100644
>> --- a/target-i386/cpu.c
>> +++ b/target-i386/cpu.c
>> @@ -2105,6 +2105,9 @@ static void x86_cpu_load_def(X86CPU *cpu,
>> X86CPUDefinition *def, Error **errp)
>>
>>      /* Special cases not set in the X86CPUDefinition structs: */
>>      if (kvm_enabled()) {
>> +           if (!kvm_irqchip_in_kernel())
>> +               x86_cpu_change_kvm_default("x2apic", "off");
>> +
>>          x86_cpu_apply_props(cpu, kvm_default_props);
>>      }
>>
>> --
>> 1.9.3
>>
>
> Make sure to comply with the coding style (there is a checkpatch.pl also
> in QEMU). And please post as a new thread with proper subject, otherwise
> people (and tools) will not find your patch as such.
>
> Jan

Thanks for comments. Will update soon..
diff mbox

Patch

diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 0d447b5..2ec7eb7 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -2105,6 +2105,9 @@  static void x86_cpu_load_def(X86CPU *cpu,
X86CPUDefinition *def, Error **errp)

     /* Special cases not set in the X86CPUDefinition structs: */
     if (kvm_enabled()) {
+           if (!kvm_irqchip_in_kernel())
+               x86_cpu_change_kvm_default("x2apic", "off");
+
         x86_cpu_apply_props(cpu, kvm_default_props);
     }