Messages in this thread | | | Date | Thu, 15 Mar 2012 21:19:35 -0700 | Subject | Re: [PATCH] Use x2apic_supported() in the default_apic_id_valid() function. | From | Yinghai Lu <> |
| |
On Thu, Mar 15, 2012 at 7:08 PM, Yinghai Lu <yinghai@kernel.org> wrote: >> So this change breaks the commit >> c284b42abadbb22083bfde24d308899c08d44ffa. >> >> I think the right thing is to have two different apid_id_valid checks >> one for xapic driver (apic_flat_64.c) and another for x2apic driver >> (x2apic_phys/cluster.c) and that way, x2apic MADT entries will be parsed >> only if bios has handed over the OS in x2apic mode or if we have >> selected the numachip model. > > that looks like more clear.
after more thinking, I think We should still use cpu_has_x2apic checking.
one maybe invalid case:
System have some cpus apic id < 255, and some cpu apic id > 255. BSP apic id < 255. those cpus apic id < 255 will be put into xapic mode, cpus > 255 will be put into x2apic mode. and DMAR table intr-remapping will be working.
So if we check x2apic_mode early, will skip cpu with apic id > 255, even switch to x2apic later.
Thanks
Yinghai Lu
| |