1
linux/include/asm-generic
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
..
bitops
4level-fixup.h
atomic.h
audit_change_attr.h
audit_dir_write.h
audit_read.h
audit_signal.h
audit_write.h
bitops.h
bug.h
cmpxchg-local.h
cmpxchg.h
cputime.h
device.h
div64.h
dma-coherent.h
dma-mapping-broken.h
dma-mapping.h
emergency-restart.h
errno-base.h
errno.h
fcntl.h
futex.h
gpio.h
ide_iops.h
int-l64.h
int-ll64.h
ioctl.h
iomap.h
irq_regs.h
Kbuild
Kbuild.asm
kdebug.h
libata-portmap.h
local.h
memory_model.h
mm_hooks.h
mman.h
mutex-dec.h
mutex-null.h
mutex-xchg.h
page.h
pci-dma-compat.h
pci.h
percpu.h
pgtable-nopmd.h
pgtable-nopud.h
pgtable.h
poll.h
resource.h
rtc.h
sections.h x86: make percpu symbols zerobased on SMP 2009-01-16 14:19:14 +01:00
siginfo.h
signal.h
statfs.h
syscall.h
termios.h
tlb.h
topology.h
uaccess.h
vmlinux.lds.h x86: make percpu symbols zerobased on SMP 2009-01-16 14:19:14 +01:00
xor.h