--- include/asm-x86/percpu_64.h | 1 + include/asm-x86/pgtable_64.h | 1 - include/linux/percpu.h | 3 ++- 3 files changed, 3 insertions(+), 2 deletions(-) Index: linux-2.6/include/asm-x86/percpu_64.h =================================================================== --- linux-2.6.orig/include/asm-x86/percpu_64.h 2007-11-20 17:40:33.892439532 -0800 +++ linux-2.6/include/asm-x86/percpu_64.h 2007-11-20 17:40:41.931875094 -0800 @@ -7,6 +7,7 @@ should be just put into a single section and referenced directly from %gs */ +#define CPU_AREA_BASE _AC(0xfffff20000000000, UL) #ifdef CONFIG_SMP #include Index: linux-2.6/include/asm-x86/pgtable_64.h =================================================================== --- linux-2.6.orig/include/asm-x86/pgtable_64.h 2007-11-20 17:35:17.748125436 -0800 +++ linux-2.6/include/asm-x86/pgtable_64.h 2007-11-20 17:40:24.791656129 -0800 @@ -138,7 +138,6 @@ static inline pte_t ptep_get_and_clear_f #define VMALLOC_START _AC(0xffffc20000000000, UL) #define VMALLOC_END _AC(0xffffe1ffffffffff, UL) #define VMEMMAP_START _AC(0xffffe20000000000, UL) -#define CPU_AREA_BASE _AC(0xffffffff84000000, UL) #define MODULES_VADDR _AC(0xffffffff88000000, UL) #define MODULES_END _AC(0xfffffffffff00000, UL) #define MODULES_LEN (MODULES_END - MODULES_VADDR) Index: linux-2.6/include/linux/percpu.h =================================================================== --- linux-2.6.orig/include/linux/percpu.h 2007-11-20 17:34:38.580125174 -0800 +++ linux-2.6/include/linux/percpu.h 2007-11-20 17:39:50.956872270 -0800 @@ -68,7 +68,8 @@ DECLARE_PER_CPU(cpumask_t, cpu_mask); #define SHIFT_PTR(__p, __offset) ((__typeof__(__p))((void *)(__p) \ + (__offset))) -extern char cpu_area[]; + +#define cpu_area ((char *)CPU_AREA_BASE) static inline unsigned long __cpu_offset(unsigned long cpu) {