x86/non-x86: percpu, node ids, apic ids x86.git fixup

Ingo Molnar mingo at elte.hu
Thu Jan 31 06:46:16 EST 2008

* Luck, Tony <tony.luck at intel.com> wrote:

> > This is only defined for !__ASSEMBLY__
> Some place in there.  The CONFIG_SMP=n path in ia64 makes quite 
> radical changes ... rather than putting all the per-cpu stuff into the 
> top 64K of address space and providing a per-cpu TLB mapping for that 
> range to a different physical address ... it just makes all the 
> per-cpu stuff link as ordinary variables in .data.  The error messages 
> indicate that some of the new code is unaware of this.

ah, that was the vital clue. The patch below makes the small memory 
model only defined on SMP, and makes the config build/link fine here. 
Does this build and boot on your box?


Subject: ia64: build fix #3
From: Ingo Molnar <mingo at elte.hu>

Signed-off-by: Ingo Molnar <mingo at elte.hu>
 include/asm-ia64/percpu.h |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux-x86.q/include/asm-ia64/percpu.h
--- linux-x86.q.orig/include/asm-ia64/percpu.h
+++ linux-x86.q/include/asm-ia64/percpu.h
@@ -15,12 +15,12 @@
 #include <linux/threads.h>
+#ifdef CONFIG_SMP
 # define PER_CPU_ATTRIBUTES	__attribute__((__model__ (__small__)))
-#ifdef CONFIG_SMP
 #define __my_cpu_offset	__ia64_per_cpu_var(local_per_cpu_offset)
 extern void *per_cpu_init(void);

More information about the Linuxppc-dev mailing list