linux/arch/powerpc/include/asm
Anton Blanchard 0e0ed6406e powerpc/modules: Module CRC relocation fix causes perf issues
Module CRCs are implemented as absolute symbols that get resolved by
a linker script. We build an intermediate .o that contains an
unresolved symbol for each CRC. genksysms parses this .o, calculates
the CRCs and writes a linker script that "resolves" the symbols to
the calculated CRC.

Unfortunately the ppc64 relocatable kernel sees these CRCs as symbols
that need relocating and relocates them at boot. Commit d4703aef
(module: handle ppc64 relocating kcrctabs when CONFIG_RELOCATABLE=y)
added a hook to reverse the bogus relocations. Part of this patch
created a symbol at 0x0:

# head -2 /proc/kallsyms
0000000000000000 T reloc_start
c000000000000000 T .__start

This reloc_start symbol is causing lots of confusion to perf. It
thinks reloc_start is a massive function that stretches from 0x0 to
0xc000000000000000 and we get various cryptic errors out of perf,
including:

problem incrementing symbol count, skipping event

This patch removes the  reloc_start linker script label and instead
defines it as PHYSICAL_START. We also need to wrap it with
CONFIG_PPC64 because the ppc32 kernel can set a non zero
PHYSICAL_START at compile time and we wouldn't want to subtract
it from the CRCs in that case.

Signed-off-by: Anton Blanchard <anton@samba.org>
Cc: <stable@kernel.org>
Acked-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-07-24 14:18:43 +10:00
..
8xx_immap.h
agp.h
asm-compat.h powerpc: Change mtcrf to use real register names 2012-07-10 19:18:11 +10:00
asm-offsets.h
async_tx.h
atomic.h atomic: implement generic atomic_dec_if_positive() 2012-10-09 16:22:46 +09:00
backlight.h
barrier.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
bitops.h powerpc: Remove unused postfix parameter to DEFINE_BITOP() 2013-04-18 11:53:04 +10:00
bootx.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
btext.h
bug.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
bugs.h
cache.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
cacheflush.h powerpc/85xx: add HOTPLUG_CPU support 2012-09-12 14:57:08 -05:00
cell-pmu.h
cell-regs.h
checksum.h
clk_interface.h
cmpxchg.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
code-patching.h powerpc: Have patch_instruction detect faults 2012-07-03 14:14:38 +10:00
compat.h compat: move compat_siginfo_t definition to asm/compat.h 2012-10-06 03:05:16 +09:00
context_tracking.h powerpc: Use the new schedule_user API on userspace preemption 2013-05-14 16:00:20 +10:00
cpm1.h
cpm2.h
cpm.h
cputable.h powerpc/hw_breakpoints: Add DABRX cpu feature to fix 32-bit regression 2013-06-10 08:36:29 +10:00
cputhreads.h powerpc: Fixing a cputhread code documentation 2012-05-22 14:37:00 +10:00
cputime.h cputime: Generic on-demand virtual cputime accounting 2013-01-27 19:23:27 +01:00
current.h
dbdma.h
dbell.h powerpc: Select either privileged or hypervisor doorbell when sending 2013-01-10 15:09:06 +11:00
dcr-generic.h
dcr-mmio.h
dcr-native.h
dcr-regs.h
dcr.h
debug.h powerpc: Rename set_break to avoid naming conflict 2013-01-16 05:25:47 +11:00
delay.h
device.h powerpc: IOMMU fault injection 2012-07-10 19:18:59 +10:00
disassemble.h
div64.h
dma-mapping.h powerpc: dma_debug: add debug_dma_mapping_error support 2012-11-28 15:28:59 +01:00
dma.h powerpc: remove PReP platform 2013-04-18 13:03:53 +10:00
edac.h
eeh_event.h powerpc/eeh: Allow to purge EEH events 2013-06-20 17:06:07 +10:00
eeh.h powerpc/eeh: Avoid build warnings 2013-07-01 11:10:33 +10:00
ehv_pic.h
elf.h powerpc: Add HWCAP2 aux entry 2013-04-26 16:08:16 +10:00
emergency-restart.h
emulated_ops.h
epapr_hcalls.h PPC: ePAPR: Convert hcall header to uapi (round 2) 2012-10-31 13:45:32 +01:00
exception-64e.h powerpc/booke64: Use SPRG0/3 scratch for bolted TLB miss & crit int 2012-09-05 15:35:52 +10:00
exception-64s.h Linux 3.10 2013-07-01 17:57:25 +10:00
exec.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
fadump.h
fb.h
feature-fixups.h
firmware.h powerpc/powernv: Detect OPAL v3 API version 2013-05-14 15:10:02 +10:00
fixmap.h
floppy.h
fs_pd.h
fsl_85xx_cache_sram.h
fsl_gtm.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
fsl_guts.h powerpc/iommu/fsl: Add PAMU bypass enable register to ccsr_guts struct 2012-11-25 07:19:39 -06:00
fsl_hcalls.h PPC: Don't use hardcoded opcode for ePAPR hcall invocation 2012-10-05 23:38:38 +02:00
fsl_ifc.h powerpc/mpc85xx: Add new ext fields to Integrated FLash Controller 2012-09-12 14:57:10 -05:00
fsl_lbc.h
ftrace.h
futex.h
gpio.h gpiolib/arches: Centralise bolierplate asm/gpio.h 2012-05-11 18:00:14 -06:00
grackle.h
hardirq.h powerpc: Add accounting for Doorbell interrupts 2013-04-18 15:59:55 +10:00
heathrow.h
highmem.h
hugetlb.h powerpc: move find_linux_pte_or_hugepte and gup_hugepte to common code 2013-06-21 16:01:54 +10:00
hvcall.h powerpc/kvm/book3s: Add support for H_IPOLL and H_XIRR_X in XICS emulation 2013-06-01 08:29:27 +10:00
hvconsole.h
hvcserver.h
hvsi.h
hw_breakpoint.h powerpc: Change hardware breakpoint to allow longer ranges 2013-01-29 11:35:08 +11:00
hw_irq.h powerpc: hard_irq_disable(): Call trace_hardirqs_off after disabling 2013-05-10 17:01:09 +10:00
hydra.h
i8259.h
ibmebus.h ibmebus: convert of_platform_driver to platform_driver 2013-06-12 12:37:26 +01:00
ide.h
immap_cpm2.h
immap_qe.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
io_event_irq.h
io-defs.h
io-workarounds.h POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
io.h powerpc: remove PReP platform 2013-04-18 13:03:53 +10:00
iommu.h powerpc/iommu: Remove unused pci_iommu_init() and pci_direct_iommu_init() 2013-07-01 11:10:35 +10:00
ipic.h
irq_regs.h
irq.h powerpc/irqdomain: Fix broken NR_IRQ references 2012-04-30 10:45:26 +10:00
irqflags.h
jump_label.h
Kbuild Merge tag 'kvm-3.8-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2012-12-13 15:31:08 -08:00
kdebug.h
kdump.h
kexec.h
keylargo.h
kgdb.h
kmap_types.h powerpc: remove km_type definitions 2012-07-24 15:27:29 +08:00
kprobes.h powerpc/kprobes: Rename opcode_t in probes.h to ppc_opcode_t 2012-09-07 09:48:50 +10:00
kvm_44x.h
kvm_asm.h kvm/ppc/booke64: Fix AltiVec interrupt numbers and build breakage 2013-06-11 11:10:49 +03:00
kvm_book3s_32.h powerpc: Build fix for powerpc KVM 2012-10-18 10:37:52 +11:00
kvm_book3s_64.h powerpc/kvm: Handle transparent hugepage in KVM 2013-06-21 16:01:55 +10:00
kvm_book3s_asm.h KVM: PPC: Book3S HV: Speed up wakeups of CPUs on HV KVM 2013-04-26 20:27:31 +02:00
kvm_book3s.h KVM: PPC: Book3S PR: Allow guest to use 1TB segments 2013-06-30 03:33:22 +02:00
kvm_booke_hv_asm.h KVM: PPC: bookehv64: Add support for interrupt handling 2012-12-06 01:34:11 +01:00
kvm_booke.h Added ONE_REG interface for debug instruction 2013-04-17 15:21:14 +02:00
kvm_fpu.h
kvm_host.h KVM: PPC: Book3S: Add kernel emulation for the XICS interrupt controller 2013-04-26 20:27:30 +02:00
kvm_para.h Merge remote-tracking branch 'master' into queue 2012-10-29 19:15:32 -02:00
kvm_ppc.h KVM: PPC: Book3S: Add API for in-kernel XICS emulation 2013-05-02 15:28:36 +02:00
libata-portmap.h
linkage.h consolidate cond_syscall and SYSCALL_ALIAS declarations 2013-03-03 22:55:19 -05:00
local64.h
local.h
lppaca.h powerpc/pseries: Inform the hypervisor we are using EBB regs 2013-07-01 11:50:17 +10:00
lv1call.h powerpc/ps3: Correct lv1 repository routine names 2012-04-24 15:34:16 -07:00
machdep.h powerpc: Optimize hugepage invalidate 2013-06-21 16:01:58 +10:00
macio.h
mc146818rtc.h
mediabay.h
mman.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
mmu_context.h sched: Rename sched.c as sched/core.c in comments and Documentation 2013-06-19 12:58:42 +02:00
mmu-8xx.h
mmu-40x.h
mmu-44x.h
mmu-book3e.h powerpc: Fix build error for book3e 2013-05-02 10:37:37 +10:00
mmu-hash32.h
mmu-hash64.h powerpc/mm: Fix build warnings with CONFIG_TRANSPARENT_HUGEPAGE disabled 2013-06-25 17:24:40 +10:00
mmu.h powerpc: POWER8 cputable entry 2012-11-15 13:00:45 +11:00
mmzone.h
module.h powerpc/modules: Module CRC relocation fix causes perf issues 2013-07-24 14:18:43 +10:00
mpc5xxx.h
mpc6xx.h
mpc8xx.h
mpc52xx_psc.h serial/mpc52xx_uart: add MPC5125 PSC support 2013-06-03 10:22:35 -07:00
mpc52xx.h powerpc/mpc52xx_lpbfifo: optionally defer fifo transfer start 2012-09-14 10:15:35 +02:00
mpc5121.h powerpc/mpc512x: move common code to shared.c file 2013-05-21 10:58:39 +02:00
mpc8260.h
mpic_msgr.h powerpc/mpic_msgr: Add missing includes 2012-08-24 20:26:04 +10:00
mpic_timer.h powerpc/mpic: add global timer support 2013-07-01 18:38:41 -05:00
mpic.h powerpc/mpic: create mpic subsystem object 2013-07-01 18:38:42 -05:00
msi_bitmap.h
mutex.h arch: Make __mutex_fastpath_lock_retval return whether fastpath succeeded or not 2013-06-26 12:10:55 +02:00
nvram.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
ohare.h
opal.h powernv/opal: Notifier for OPAL events 2013-06-21 16:01:50 +10:00
oprofile_impl.h treewide: fix typo of "suport" in various comments and Kconfig 2012-11-19 14:16:09 +01:00
paca.h powerpc: Add transactional memory paca scratch register to show_regs 2013-02-15 16:58:51 +11:00
page_32.h
page_64.h mm: remove free_area_cache use in powerpc architecture 2013-04-30 11:05:10 +10:00
page.h powerpc: Reduce PTE table memory wastage 2013-04-30 16:00:07 +10:00
parport.h powerpc: use for_each_compatible_node() macro 2013-04-18 13:03:50 +10:00
pasemi_dma.h
pci-bridge.h powerpc: Make radeon 32-bit MSI quirk work on powernv 2013-05-24 18:13:45 +10:00
pci.h
percpu.h
perf_event_fsl_emb.h
perf_event_server.h powerpc/perf: Core EBB support for 64-bit book3s 2013-07-01 11:50:10 +10:00
perf_event.h powerpc/perf: Move code to select SIAR or pt_regs into perf_read_regs 2012-07-10 19:18:41 +10:00
pgalloc-32.h powerpc: Move the pte free routines from common header 2013-04-30 16:00:04 +10:00
pgalloc-64.h powerpc/THP: Double the PMD table size for THP 2013-06-21 16:01:53 +10:00
pgalloc.h powerpc: Move the pte free routines from common header 2013-04-30 16:00:04 +10:00
pgtable-ppc32.h
pgtable-ppc64-4k.h powerpc/mm: Add 64TB support 2012-09-17 16:31:51 +10:00
pgtable-ppc64-64k.h powerpc/THP: Double the PMD table size for THP 2013-06-21 16:01:53 +10:00
pgtable-ppc64.h powerpc/THP: Enable THP on PPC64 2013-06-21 16:01:58 +10:00
pgtable.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-07-04 10:29:23 -07:00
pmac_feature.h
pmac_low_i2c.h
pmac_pfunc.h
pmc.h
pmi.h
ppc4xx_ocm.h powerpc/44x: Support OCM(On Chip Memory) for APM821xx SoC and Bluestone board 2013-01-10 15:08:37 +11:00
ppc4xx.h
ppc_asm.h powerpc/pseries: Kill all prefetch streams on context switch 2013-06-01 08:29:25 +10:00
ppc-opcode.h powerpc: Emulate non privileged DSCR read and write 2013-05-06 09:25:35 +10:00
ppc-pci.h powerpc/eeh: Cleanup on EEH PCI address cache 2012-09-10 09:59:00 +10:00
probes.h powerpc: Move the single step enable code to a generic path 2013-06-20 16:55:09 +10:00
processor.h powerpc/perf: Core EBB support for 64-bit book3s 2013-07-01 11:50:10 +10:00
prom.h powerpc/pseries: Update CPU maps when device tree is updated 2013-04-26 16:08:23 +10:00
ps3.h powerpc/ps3: Add macro PS3_VERBOSE_RESULT 2013-02-15 16:54:39 +11:00
ps3av.h
ps3gpu.h
ps3stor.h
pte-8xx.h
pte-40x.h
pte-44x.h
pte-book3e.h
pte-common.h
pte-fsl-booke.h
pte-hash32.h
pte-hash64-4k.h
pte-hash64-64k.h powerpc: Fix build errors STRICT_MM_TYPECHECKS 2013-05-14 14:36:20 +10:00
pte-hash64.h
ptrace.h powerpc: fixing ptrace_get_reg to return an error 2013-04-18 13:03:57 +10:00
qe_ic.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
qe.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
reg_8xx.h
reg_a2.h
reg_booke.h booke: Added DBCR4 SPR number 2013-02-13 12:56:42 +01:00
reg_fsl_emb.h
reg.h powerpc: Add second POWER8 PVR entry 2013-07-24 14:18:43 +10:00
rheap.h
rio.h
rtas.h powerpc: Delete __cpuinit usage from all users 2013-07-01 11:10:36 +10:00
rtc.h
runlatch.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
scatterlist.h
scom.h
sections.h powerpc: Relocate prom_init.c on 64bit 2013-01-10 17:00:25 +11:00
serial.h
setjmp.h
setup.h powerpc: Remove stale function prototypes from setup.h 2012-11-15 13:00:54 +11:00
sfp-machine.h
shmparam.h
signal.h powerpc/tm: Fix userspace stack corruption on signal delivery for active transactions 2013-06-01 08:29:23 +10:00
smp.h powerpc: Fix build errors with UP configs in HV-style KVM 2013-04-18 13:03:57 +10:00
smu.h Fix misspellings of "whether" in comments. 2012-11-19 14:31:35 +01:00
sparsemem.h powerpc/mm: Add 64TB support 2012-09-17 16:31:51 +10:00
spinlock_types.h
spinlock.h powerpc: Avoid debug_smp_processor_id() check in SHARED_PROCESSOR 2013-01-29 11:35:06 +11:00
spu_csa.h
spu_info.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
spu_priv1.h
spu.h
sstep.h
string.h
swab.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
swiotlb.h powerpc/swiotlb: Enable at early stage and disable if not necessary 2012-09-12 14:57:09 -05:00
switch_to.h powerpc/perf: Core EBB support for 64-bit book3s 2013-07-01 11:50:10 +10:00
synch.h
syscall.h
syscalls.h powerpc: trim the crap from syscalls.h 2013-02-03 18:16:11 -05:00
systbl.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2013-05-01 07:21:43 -07:00
tce.h
termios.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
thread_info.h powerpc: Syscall hooks for context tracking subsystem 2013-05-14 16:00:19 +10:00
time.h cputime: Consolidate vtime handling on context switch 2012-08-20 13:05:28 +02:00
timex.h
tlb.h
tlbflush.h powerpc/THP: Implement transparent hugepages for ppc64 2013-06-21 16:01:53 +10:00
tm.h powerpc/tm: Move TM abort cause codes to uapi 2013-06-01 08:29:23 +10:00
topology.h powerpc/pseries: Add /proc interface to control topology updates 2013-04-26 16:08:26 +10:00
trace.h powerpc: tracing: Avoid tracepoint duplication with DECLARE_EVENT_CLASS 2012-07-03 14:14:41 +10:00
tsi108_irq.h
tsi108_pci.h
tsi108.h
types.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
uaccess.h powerpc: uaccess s/might_sleep/might_fault/ 2013-05-28 09:41:09 +02:00
ucc_fast.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
ucc_slow.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
ucc.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
udbg.h powerpc: Add an in memory udbg console 2013-05-08 06:36:49 +10:00
uic.h
unaligned.h
uninorth.h
unistd.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2013-05-01 07:21:43 -07:00
uprobes.h uretprobes/powerpc: Hijack return address 2013-04-13 15:31:56 +02:00
user.h
vdso_datapage.h
vdso.h powerpc: Delete __cpuinit usage from all users 2013-07-01 11:10:36 +10:00
vga.h
vio.h POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
word-at-a-time.h powerpc: Use the new generic strncpy_from_user() and strnlen_user() 2012-05-27 21:00:07 -07:00
wsp.h
xics.h powerpc/powernv: Patch MSI EOI handler on P8 2013-04-26 16:09:59 +10:00
xilinx_intc.h
xilinx_pci.h
xmon.h
xor.h