On 09/11/2016 18:15, Igor Mammedov wrote: > > When IA32_APIC_BASE[11] is 0, the processor is functionally equivalent > > to an IA-32 processor without an on-chip APIC. The CPUID feature flag > > for the APIC (see Section 10.4.2, "Presence of the Local APIC") is > > also set to 0. > > CCing Eduardo in case it might affect migration. If the destination kernel is old, it will re-grow the CPUID APIC bit. However, clearing IA32_APIC_BASE[11] should really only happen in the BIOS; our firmware is sane and doesn't do that. See this bit in arch/x86/kernel/apic/apic.c's apic_force_enable: rdmsr(MSR_IA32_APICBASE, l, h); if (!(l & MSR_IA32_APICBASE_ENABLE)) { pr_info("Local APIC disabled by BIOS -- reenabling.\n"); l &= ~MSR_IA32_APICBASE_BASE; l |= MSR_IA32_APICBASE_ENABLE | addr; wrmsr(MSR_IA32_APICBASE, l, h); enabled_via_apicbase = 1; } Paolo -- 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