linux/arch
Tejun Heo 3e5d8f9784 x86: make percpu symbols zerobased on SMP
[ Based on original patch from Christoph Lameter and Mike Travis. ]

This patch makes percpu symbols zerobased on x86_64 SMP by adding
PERCPU_VADDR() to vmlinux.lds.h which helps setting explicit vaddr on
the percpu output section and using it in vmlinux_64.lds.S.  A new
PHDR is added as existing ones cannot contain sections near address
zero.  PERCPU_VADDR() also adds a new symbol __per_cpu_load which
always points to the vaddr of the loaded percpu data.init region.

The following adjustments have been made to accomodate the address
change.

* code to locate percpu gdt_page in head_64.S is updated to add the
  load address to the gdt_page offset.

* __per_cpu_load is used in places where access to the init data area
  is necessary.

* pda->data_offset is initialized soon after C code is entered as zero
  value doesn't work anymore.

This patch is mostly taken from Mike Travis' "x86_64: Base percpu
variables at zero" patch.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-16 14:19:14 +01:00
..
alpha irq: update all arches for new irq_desc 2009-01-12 15:27:13 -08:00
arm Merge branches 'cpus4096', 'x86/cleanups' and 'x86/urgent' into x86/percpu 2009-01-15 13:18:57 +01:00
avr32 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2009-01-09 11:52:14 -08:00
blackfin irq: update all arches for new irq_desc 2009-01-12 15:27:13 -08:00
cris Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-01-07 11:31:52 -08:00
frv NOMMU: Make VMAs per MM as for MMU-mode linux 2009-01-08 12:04:47 +00:00
h8300 NOMMU: Make VMAs per MM as for MMU-mode linux 2009-01-08 12:04:47 +00:00
ia64 irq: update all arches for new irq_desc, fix 2009-01-15 11:15:36 +01:00
m32r Merge branch 'cpus4096-for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-01-03 12:04:39 -08:00
m68k m68k: Fix --build-id breakage for sun3 2009-01-12 20:56:44 +01:00
m68knommu NOMMU: Make VMAs per MM as for MMU-mode linux 2009-01-08 12:04:47 +00:00
mips Merge branches 'cpus4096', 'x86/cleanups' and 'x86/urgent' into x86/percpu 2009-01-15 13:18:57 +01:00
mn10300 irq: update all arches for new irq_desc, fix 2009-01-15 11:15:36 +01:00
parisc irq: update all arches for new irq_desc 2009-01-12 15:27:13 -08:00
powerpc Merge branches 'cpus4096', 'x86/cleanups' and 'x86/urgent' into x86/percpu 2009-01-15 13:18:57 +01:00
s390 [S390] Use unsigned long long for u64 on 64bit. 2009-01-09 12:15:07 +01:00
sh NOMMU: Make VMAs per MM as for MMU-mode linux 2009-01-08 12:04:47 +00:00
sparc Merge branches 'cpus4096', 'x86/cleanups' and 'x86/urgent' into x86/percpu 2009-01-15 13:18:57 +01:00
um mm: invoke oom-killer from page fault 2009-01-06 15:58:58 -08:00
x86 x86: make percpu symbols zerobased on SMP 2009-01-16 14:19:14 +01:00
xtensa xtensa: introduce swab.h 2009-01-07 12:22:04 -08:00
.gitignore
Kconfig oprofile: select RING_BUFFER 2008-12-12 09:46:31 +01:00