lkml.org 
[lkml]   [2008]   [May]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: build issue #380 for v2.6.26-rc1-279-g28a4acb : mach-voyager: multiple definition of `phys_cpu_present_map'
From
Date
On Sat, 2008-05-10 at 15:17 +0200, Ingo Molnar wrote:
> * Ingo Molnar <mingo@elte.hu> wrote:
>
> > > I already told you that this was incorrect. This is what I sent as
> > > the replacement on 28 April and I didn't hear back from you.
> > >
> > > http://marc.info/?l=linux-kernel&m=120941111400620
> >
> > ok - picked it up for testing - could you please send a signoff line
> > as well?
>
> Alexey, the patch from James failed in testing on visws:
>
> arch/x86/kernel/built-in.o: In function `init_apic_mappings':
> : undefined reference to `boot_cpu_physical_apicid'
> arch/x86/kernel/built-in.o: In function `init_apic_mappings':
> : undefined reference to `boot_cpu_physical_apicid'
> arch/x86/kernel/built-in.o: In function `APIC_init_uniprocessor':
> : undefined reference to `boot_cpu_physical_apicid'
> arch/x86/kernel/built-in.o: In function `APIC_init_uniprocessor':
>
> config is at:
>
> http://redhat.com/~mingo/misc/config-Sat_May_10_15_05_47_CEST_2008.bad

OK, so these symbols are required on visws as well. So that makes the
gating config symbol X86_LOCAL_APIC.

Could you run this through the same config to verify; thanks!

James

---

From: James Bottomley <James.Bottomley@HansenPartnership.com>
Subject: [VOYAGER] fix duplicate phys_cpu_present_map symbol

The phys_cpu_present_map is an expected symbol in the SMP harness.
Unfortunately, x86 recently moved this and a few others to
kernel/setup.c where it doesn't quite work because voyager has to
define its own. Use CONFIG_X86_LOCAL_APIC to isolate these
definitions and fix up another area in setup.c where CONFIG_X86_SMP
should be used instead of CONFIG_SMP.

Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
---
arch/x86/kernel/setup.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index cc6f5eb..3f1f642 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -12,6 +12,7 @@
#include <asm/mpspec.h>
#include <asm/apicdef.h>

+#ifdef CONFIG_X86_LOCAL_APIC
unsigned int num_processors;
unsigned disabled_cpus __cpuinitdata;
/* Processor that is doing the boot up */
@@ -23,8 +24,9 @@ EXPORT_PER_CPU_SYMBOL(x86_cpu_to_apicid);

/* Bitmask of physically existing CPUs */
physid_mask_t phys_cpu_present_map;
+#endif

-#if defined(CONFIG_HAVE_SETUP_PER_CPU_AREA) && defined(CONFIG_SMP)
+#if defined(CONFIG_HAVE_SETUP_PER_CPU_AREA) && defined(CONFIG_X86_SMP)
/*
* Copy data used in early init routines from the initial arrays to the
* per cpu data areas. These arrays then become expendable and the
--
1.5.4.4




\
 
 \ /
  Last update: 2008-05-10 16:05    [W:0.060 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site