On Thu, Feb 25, 2016 at 11:15:12PM +0800, 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 <tianyu.lan@xxxxxxxxx> > --- > 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"); This should be NULL instead of "off". Otherwise, the warning will be disabled if using "-cpu ...,+x2apic". > + } > + This function runs multiple times (once for each VCPU being created). Should be harmless, though. Eventually we could move the whole kvm_default_props logic outside cpu.c, to a KVM-x86 accel class or to common PC initialization code. > x86_cpu_apply_props(cpu, kvm_default_props); > } > > -- > 1.9.3 > -- Eduardo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html