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

From: Ingo Molnar
Date: Wed Jan 30 2008 - 14:46:48 EST



* Luck, Tony <tony.luck@xxxxxxxxx> 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?

Ingo

------------>
Subject: ia64: build fix #3
From: Ingo Molnar <mingo@xxxxxxx>

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
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
+
#ifdef HAVE_MODEL_SMALL_ATTRIBUTE
# define PER_CPU_ATTRIBUTES __attribute__((__model__ (__small__)))
#endif

-#ifdef CONFIG_SMP
-
#define __my_cpu_offset __ia64_per_cpu_var(local_per_cpu_offset)

extern void *per_cpu_init(void);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/