On 2016-02-25 09:33, Lan Tianyu wrote: > 2016-02-20 17:00 GMT+08:00 Paolo Bonzini <pbonz...@redhat.com>: >> >> >> ----- Original Message ----- >>> From: "Jan Kiszka" <jan.kis...@web.de> >>> To: "Eduardo Habkost" <ehabk...@redhat.com>, "Paolo Bonzini" >>> <pbonz...@redhat.com> >>> Cc: "qemu-devel" <qemu-devel@nongnu.org>, "kvm" <k...@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....@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....@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