Re: [PATCH v2] kvm: nVMX: CPUID.01H:EDX.APIC[bit 9] should mirror IA32_APIC_BASE[11]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux