Commit 0f4fdb7f authored by ravikiran thirumalai's avatar ravikiran thirumalai Committed by Linus Torvalds

[PATCH] x86_64: Use local APIC ID from local APIC instead of CPUID

vSMPowered systems use apic_cluster too.  Forcing apic_physflat works
on these systems too, but only if we change phys_pkg_id to use
hard_smp_prcoessor_id() instead of cpuid_ebx.  I am guessing other
multichassi cluster systems would need this too.
Signed-off-by: default avatarravikiran thirumalai <kiran@scalex86.org>
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 7c393e7b
...@@ -108,10 +108,7 @@ static unsigned int flat_cpu_mask_to_apicid(cpumask_t cpumask) ...@@ -108,10 +108,7 @@ static unsigned int flat_cpu_mask_to_apicid(cpumask_t cpumask)
static unsigned int phys_pkg_id(int index_msb) static unsigned int phys_pkg_id(int index_msb)
{ {
u32 ebx; return hard_smp_processor_id() >> index_msb;
ebx = cpuid_ebx(1);
return ((ebx >> 24) & 0xFF) >> index_msb;
} }
struct genapic apic_flat = { struct genapic apic_flat = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment