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>
 
 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 =  {