summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2011-01-23 14:37:35 +0100
committerIngo Molnar <mingo@elte.hu>2011-01-28 14:54:07 +0100
commit12bf24a47c1a095233cc8a8b863b509a0d8e0f2c (patch)
treeddd7e7fd5df3627d388943b751e29edeb60f6d06
parentx86: Implement the default x86_32_early_logical_apicid() (diff)
downloadlinux-12bf24a47c1a095233cc8a8b863b509a0d8e0f2c.tar.xz
linux-12bf24a47c1a095233cc8a8b863b509a0d8e0f2c.zip
x86: Implement x86_32_early_logical_apicid() for bigsmp_32
Signed-off-by: Tejun Heo <tj@kernel.org> Cc: eric.dumazet@gmail.com Cc: yinghai@kernel.org Cc: brgerst@gmail.com Cc: gorcunov@gmail.com Cc: penberg@kernel.org Cc: shaohui.zheng@intel.com Cc: rientjes@google.com LKML-Reference: <1295789862-25482-10-git-send-email-tj@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/kernel/apic/bigsmp_32.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/x86/kernel/apic/bigsmp_32.c b/arch/x86/kernel/apic/bigsmp_32.c
index dd32a9b78a87..bc7ed040bb0e 100644
--- a/arch/x86/kernel/apic/bigsmp_32.c
+++ b/arch/x86/kernel/apic/bigsmp_32.c
@@ -45,6 +45,12 @@ static unsigned long bigsmp_check_apicid_present(int bit)
return 1;
}
+static int bigsmp_early_logical_apicid(int cpu)
+{
+ /* on bigsmp, logical apicid is the same as physical */
+ return early_per_cpu(x86_cpu_to_apicid, cpu);
+}
+
static inline unsigned long calculate_ldr(int cpu)
{
unsigned long val, id;
@@ -252,5 +258,5 @@ struct apic apic_bigsmp = {
.wait_icr_idle = native_apic_wait_icr_idle,
.safe_wait_icr_idle = native_safe_apic_wait_icr_idle,
- .x86_32_early_logical_apicid = noop_x86_32_early_logical_apicid,
+ .x86_32_early_logical_apicid = bigsmp_early_logical_apicid,
};