[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: ravikiran thirumalai <kiran@scalex86.org> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
7c393e7b95
commit
0f4fdb7fba
|
@ -108,10 +108,7 @@ static unsigned int flat_cpu_mask_to_apicid(cpumask_t cpumask)
|
|||
|
||||
static unsigned int phys_pkg_id(int index_msb)
|
||||
{
|
||||
u32 ebx;
|
||||
|
||||
ebx = cpuid_ebx(1);
|
||||
return ((ebx >> 24) & 0xFF) >> index_msb;
|
||||
return hard_smp_processor_id() >> index_msb;
|
||||
}
|
||||
|
||||
struct genapic apic_flat = {
|
||||
|
|
Loading…
Reference in New Issue