linux/arch/powerpc/include/asm
Ingo Molnar 3f0116c323 compiler/gcc4: Add quirk for 'asm goto' miscompilation bug
Fengguang Wu, Oleg Nesterov and Peter Zijlstra tracked down
a kernel crash to a GCC bug: GCC miscompiles certain 'asm goto'
constructs, as outlined here:

  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670

Implement a workaround suggested by Jakub Jelinek.

Reported-and-tested-by: Fengguang Wu <fengguang.wu@intel.com>
Reported-by: Oleg Nesterov <oleg@redhat.com>
Reported-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Suggested-by: Jakub Jelinek <jakub@redhat.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2013-10-11 07:39:14 +02:00
..
8xx_immap.h
agp.h
asm-compat.h powerpc: Fix little endian lppaca, slb_shadow and dtl_entry 2013-08-14 15:33:35 +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 powerpc/pmac: Early debug output on screen on 64-bit macs 2013-08-14 14:57:40 +10:00
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: Remove the symbol __flush_icache_range 2013-08-14 14:56:44 +10: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/fsl-booke: Work around erratum A-006958 2013-08-20 15:45:49 -05: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: Add iommu domain pointer to device archdata 2013-08-14 11:38:34 +02: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: Introdce flag to protect sysfs 2013-07-24 14:18:49 +10:00
ehv_pic.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
elf.h powerpc: Add HWCAP2 aux entry 2013-04-26 16:08:16 +10:00
emergency-restart.h
emulated_ops.h powerpc/8xx: Remove last traces of 8XX_MINIMAL_FPEMU 2013-08-14 14:58:53 +10:00
epapr_hcalls.h powerpc/85xx: Move ePAPR paravirt initialization earlier 2013-08-07 18:38:06 -05: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 powerpc: Avoid link stack corruption for MMU on exceptions 2013-08-14 15:33:18 +10:00
exec.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
fadump.h fadump: Invalidate registration and release reserved memory for general use. 2012-02-23 10:50:02 +11:00
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 powerpc/irq: Remove IRQF_DISABLED 2011-11-08 14:51:46 +11:00
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 powerpc/85xx: Add lbc suspend support for PM 2011-11-24 02:01:40 -06:00
fsl_pamu_stash.h iommu/fsl: Add additional iommu attributes required by the PAMU driver. 2013-08-14 11:38:34 +02:00
ftrace.h
futex.h powerpc: Fix atomic_xxx_return barrier semantics 2011-11-17 16:26:07 +11:00
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 highmem: kill all __kmap_atomic() 2012-03-20 21:48:30 +08:00
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: Access local paca after hard irq disabled 2013-07-24 14:18:44 +10:00
hydra.h
i8259.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
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/powernv: Add PIO accessors for Power8 LPC bus 2013-08-14 14:58:08 +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/irq: Run softirqs off the top of the irq stack 2013-09-25 14:15:36 +10:00
irqflags.h powerpc/ppc64: Rename SOFT_DISABLE_INTS with RECONCILE_IRQ_STATE 2013-08-14 14:57:47 +10:00
jump_label.h compiler/gcc4: Add quirk for 'asm goto' miscompilation bug 2013-10-11 07:39:14 +02:00
Kbuild vtime: Describe overriden functions in dedicated arch headers 2013-08-14 17:14:53 +02:00
kdebug.h
kdump.h powerpc: Rename mapping based RELOCATABLE to DYNAMIC_MEMSTART for BookE 2011-12-20 10:20:19 -05:00
kexec.h powerpc: Cleanup crash/kexec code 2011-12-08 14:02:23 +11:00
keylargo.h Typos: change aditional to additional. 2012-02-21 11:40:36 +01:00
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 Merge remote-tracking branch 'origin/next' into kvm-ppc-next 2013-08-29 00:41:59 +02: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: Make instruction fetch fallback work for system calls 2013-08-28 16:47:49 +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 powerpc/kvm: Contiguous memory allocator based RMA allocation 2013-07-08 16:20:20 +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: Call trace_hardirqs_on before entry 2013-07-11 00:51:28 +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: Add endian annotations to lppaca, slb_shadow and dtl_entry 2013-08-14 15:33:34 +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
mpc85xx.h powerpc/85xx: Add support for 85xx cpu type detection 2013-08-23 19:01:03 -05:00
mpc5121.h powerpc: mpc512x: array decl for MCLK registers in CCM 2013-08-23 23:41:55 +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/msi: Fix compile error on mpc83xx 2013-08-07 18:38:04 -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 powerpc/powernv: Return secondary CPUs to firmware on kexec 2013-08-27 17:43: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: Make rwlocks endian safe 2013-08-14 15:33:40 +10: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: Work around gcc miscompilation of __pa() on 64-bit 2013-08-27 16:59:30 +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/pci: Don't use bitfield for force_32bit_msi 2013-08-14 11:50:25 +10:00
pci.h PCI: use weak functions for MSI arch-specific functions 2013-08-12 15:26:39 +00:00
percpu.h
perf_event_fsl_emb.h powerpc/perf: increase the perf HW events to 6 2013-08-07 18:38:03 -05:00
perf_event_server.h Linux 3.11-rc5 2013-08-15 10:00:09 +02: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
plpar_wrappers.h pseries: Move plpar_wrapper.h to powerpc common include/asm location. 2013-08-27 14:43:05 +10: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: Convert some mftb/mftbu into mfspr 2013-08-20 19:33:12 -05:00
ppc-opcode.h powerpc: Move opcode definitions from kvm/emulate.c to asm/ppc-opcode.h 2013-07-30 15:50:07 -05: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: Remove ksp_limit on ppc64 2013-09-25 14:15:51 +10:00
prom.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-09-06 10:49:42 -07: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 powerpc: Wrap MSR macros with parentheses 2013-08-14 11:50:21 +10:00
reg_fsl_emb.h powerpc/perf: Add e6500 PMU driver 2013-08-07 18:38:04 -05:00
reg.h powerpc: Correct FSCR bit definitions 2013-09-05 17:29:20 +10:00
rheap.h
rio.h
rtas.h powerpc: Make RTAS calls endian safe 2013-08-14 15:33:22 +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: Make chip-id information available to userspace 2013-08-14 15:33:17 +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: Make rwlocks endian safe 2013-08-14 15:33:40 +10: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 Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2012-01-08 12:19:57 -08:00
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 Merge branch 'merge' into next 2013-08-27 15:03:30 +10:00
synch.h powerpc: Fix atomic_xxx_return barrier semantics 2011-11-17 16:26:07 +11:00
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 powerpc/powernv: Add TCE SW invalidation support 2011-11-25 14:32:57 +11:00
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 powerpc: Convert some mftb/mftbu into mfspr 2013-08-20 19:33:12 -05:00
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: Make chip-id information available to userspace 2013-08-14 15:33:17 +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: Cleanup udbg_16550 and add support for LPC PIO-only UARTs 2013-08-14 14:58:15 +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