From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37245) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aZF8H-0001uU-7B for qemu-devel@nongnu.org; Fri, 26 Feb 2016 04:56:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aZF8E-0002WN-1H for qemu-devel@nongnu.org; Fri, 26 Feb 2016 04:56:21 -0500 Received: from mail-wm0-x22f.google.com ([2a00:1450:400c:c09::22f]:38655) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aZF8D-0002WD-O2 for qemu-devel@nongnu.org; Fri, 26 Feb 2016 04:56:17 -0500 Received: by mail-wm0-x22f.google.com with SMTP id a4so62779916wme.1 for ; Fri, 26 Feb 2016 01:56:17 -0800 (PST) Sender: Paolo Bonzini References: <1456413312-24063-1-git-send-email-tianyu.lan@intel.com> From: Paolo Bonzini Message-ID: <56D0213E.5090905@redhat.com> Date: Fri, 26 Feb 2016 10:56:14 +0100 MIME-Version: 1.0 In-Reply-To: <1456413312-24063-1-git-send-email-tianyu.lan@intel.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] Qemu/KVM: Remove x2apic feature from CPU model when kernel_irqchip is off List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Lan Tianyu , afaerber@suse.de, rth@twiddle.net, ehabkost@redhat.com, jan.kiszka@web.de Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org On 25/02/2016 16:15, Lan Tianyu wrote: > x2apic feature is in the kvm_default_props and automatically added to all > CPU models when KVM is enabled. But userspace devices don't support x2apic > which can't be enabled without the in-kernel irqchip. It will trigger > warning of "host doesn't support requested feature: CPUID.01H:ECX.x2apic > [bit 21]" when kernel_irqchip is off. This patch is to fix it via removing > x2apic feature when kernel_irqchip is off. > > Signed-off-by: Lan Tianyu > --- > target-i386/cpu.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/target-i386/cpu.c b/target-i386/cpu.c > index c78f824..298fb62 100644 > --- a/target-i386/cpu.c > +++ b/target-i386/cpu.c > @@ -2125,6 +2125,10 @@ 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); > } > > Acked-by: Paolo Bonzini