Re: [tip:x86/apic] x86/acpi: Introduce persistent storage for cpuid <-> apicid mapping

From: Dou Liyang
Date: Sat Oct 08 2016 - 01:23:34 EST

Hi tglx,

At 10/07/2016 09:00 PM, Thomas Gleixner wrote:
On Fri, 7 Oct 2016, Thomas Gleixner wrote:
On Fri, 7 Oct 2016, Dou Liyang wrote:
Is it possible that the "-1/oxffffffff" could appear in the MADT which is one
of the ACPI tables?

According to the SDM the x2apic id is a 32bit ID, so 0xffffffff is a
legitimate value.

Yes, I see.

The ACPI spec says that bit 0 of the x2apic flags field tells whether the
logical processor is present or not. So the proper check for x2apic is that

The lapic structure has the same flag, but the kernel ignores the flags for
both lapic and x2apic.

It seems the kernel uses the flags in this sentence:

enabled = processor->lapic_flags & ACPI_MADT_ENABLED;

I'm going to apply the minimal fix of checking for id == 0xff in
acpi_lapic_parse() for now, but this needs to be revisited and fixed

Yes, I will do it.