3e5d8f9784
[ 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> |
||
---|---|---|
.. | ||
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 | ||
siginfo.h | ||
signal.h | ||
statfs.h | ||
syscall.h | ||
termios.h | ||
tlb.h | ||
topology.h | ||
uaccess.h | ||
vmlinux.lds.h | ||
xor.h |