alistair23-linux/arch/sh/include/asm
Srinivas KANDAGATLA 5bdbd4fa4d sh: Fix up xchg/cmpxchg corruption with gUSA RB.
gUSA special cases r15 for part of its login/out sequence, meaning that
any parameters need to be explicitly prohibited from accidentally being
assigned that particular register, and the compiler ultimately needs to
use a temporary instead.

Certain configurations have begun generating code paths that do indeed
get allocated r15, resulting in immediate corruption of the exchanged
value. This was observed in (amongst others) exit_mm() code generation
where the xchg_u32 call was immediately corrupting a structure address.

As this is a general gUSA restriction, the rest of the users likewise
need to be updated to ensure sensible constraints.

References: https://bugzilla.stlinux.com/show_bug.cgi?id=11229
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com>
Reviewed-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-06-08 15:22:39 +09:00
..
adc.h
addrspace.h sh: nommu: use 32-bit phys mode. 2010-11-04 12:32:24 +09:00
alignment.h
asm-offsets.h
atomic-grb.h
atomic-irq.h
atomic-llsc.h
atomic.h atomic_t: Cast to volatile when accessing atomic variables 2010-05-17 07:57:27 -07:00
auxvec.h
bitops-grb.h
bitops-llsc.h
bitops-op32.h
bitops.h bitops: remove minix bitops from asm/bitops.h 2011-03-23 19:46:22 -07:00
bitsperlong.h
bug.h panic: Allow warnings to set different taint flags 2010-05-19 08:36:48 +01:00
bugs.h
byteorder.h
cache.h Merge branch 'for-35' of git://repo.or.cz/linux-kbuild 2010-06-01 08:55:52 -07:00
cachectl.h
cacheflush.h sh: Assume new page cache pages have dirty dcache lines. 2010-12-01 15:39:51 +09:00
checksum.h
checksum_32.h
clkdev.h ARM: 6483/1: arm & sh: factorised duplicated clkdev.c 2010-11-26 10:51:04 +00:00
clock.h sh: move sh clock.c contents to drivers/sh/clk. 2010-05-13 17:39:14 +09:00
cmpxchg-grb.h sh: Fix up xchg/cmpxchg corruption with gUSA RB. 2011-06-08 15:22:39 +09:00
cmpxchg-irq.h
cmpxchg-llsc.h
cpu-features.h
cputime.h
current.h
delay.h
device.h
div64.h
dma-mapping.h dma-mapping: remove dma_is_consistent API 2010-08-11 08:59:21 -07:00
dma-register.h
dma-sh.h
dma.h
dmabrg.h
dwarf.h
elf.h sh: update the FDPIC relocations. 2010-06-14 18:02:13 +09:00
emergency-restart.h
entry-macros.S
errno.h
fb.h
fcntl.h
fixmap.h sh: fix up an off-by-1 in the number of early ioremap fixmaps. 2010-06-21 16:23:03 +09:00
flat.h
fpu.h
freq.h
ftrace.h
futex-irq.h futex: Sanitize futex ops argument types 2011-03-11 12:23:31 +01:00
futex.h futex: Sanitize futex ops argument types 2011-03-11 12:23:31 +01:00
gpio.h sh: Allow GPIO chips to register IRQ mappings. 2010-10-03 03:55:39 +09:00
hardirq.h
hd64461.h
heartbeat.h
hugetlb.h
hw_breakpoint.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2010-05-19 11:36:03 -07:00
hw_irq.h
hwblk.h sh: get rid of hwblk clock names 2010-05-11 11:48:47 +09:00
i2c-sh7760.h
io.h sh: Fix up legacy PTEA space attribute mapping. 2011-01-11 15:02:59 +09:00
io_generic.h sh: machvec IO death. 2010-11-01 09:49:04 -04:00
io_trapped.h
ioctl.h
ioctls.h tty: add TIOCVHANGUP to allow clean tty shutdown of all ttys 2011-02-17 14:16:30 -08:00
ipcbuf.h
irq.h sh: modify NR_IRQS from 256 to 512 2010-07-06 17:37:32 +09:00
irq_regs.h
irqflags.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
Kbuild Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-08-16 13:32:24 +09:00
kdebug.h
kexec.h sh: convert kexec crash kernel management to LMB. 2010-05-07 14:54:55 +09:00
kgdb.h kgdbts: unify/generalize gdb breakpoint adjustment 2011-05-26 17:12:36 -07:00
kmap_types.h
kprobes.h sh: Add kprobe-based event tracer. 2010-06-14 15:16:53 +09:00
linkage.h
local.h
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
machvec.h sh: Add a machvec callback for early memblock reservations. 2011-01-11 13:04:57 +09:00
mc146818rtc.h
memblock.h memblock: Introduce default allocation limit and use it to replace explicit ones 2010-08-05 12:56:07 +10:00
mman.h
mmu.h
mmu_context.h
mmu_context_32.h
mmu_context_64.h
mmzone.h sh: bootmem refactoring. 2010-05-11 13:32:19 +09:00
module.h
msgbuf.h
mutex-llsc.h
mutex.h
page.h Fix common misspellings 2011-03-31 11:26:23 -03:00
param.h
parport.h
pci.h sh: pci: Use a generic raw spinlock for PCI config access locking. 2010-09-20 18:56:13 +09:00
percpu.h
perf_event.h irq_work: Add generic hardirq context callbacks 2010-10-18 19:58:50 +02:00
pgalloc.h
pgtable-2level.h
pgtable-3level.h
pgtable.h sh64: asm/pgtable.h needs asm/mmu.h 2011-05-31 14:37:44 +09:00
pgtable_32.h Fix common misspellings 2011-03-31 11:26:23 -03:00
pgtable_64.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2010-10-28 12:06:51 -07:00
poll.h
posix_types.h
posix_types_32.h
posix_types_64.h
processor.h sh: sh7372 SH4AL-DSP probe support 2011-01-13 15:20:40 +09:00
processor_32.h sh: constify prefetch pointers. 2011-01-11 14:39:35 +09:00
processor_64.h sh: Add kprobe-based event tracer. 2010-06-14 15:16:53 +09:00
ptrace.h sh: Fix up asm-generic/ptrace.h fallout. 2011-05-31 14:39:49 +09:00
ptrace_32.h sh: correct definitions to access stack pointers 2011-01-05 16:58:19 +09:00
ptrace_64.h sh: correct definitions to access stack pointers 2011-01-05 16:58:19 +09:00
push-switch.h
reboot.h
resource.h
romimage-macros.h
rtc.h
rwsem.h rwsem: Move duplicate function prototypes to linux/rwsem.h 2011-01-27 12:30:39 +01:00
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
seccomp.h
sections.h sh: Change __nosave_XXX symbols to long 2011-02-15 16:24:54 +09:00
segment.h
sembuf.h
serial.h
setup.h sh: bootmem refactoring. 2010-05-11 13:32:19 +09:00
sfp-machine.h
sh7760fb.h
sh_bios.h
sh_eth.h net: sh_eth: add set_mdio_gate in bb_info 2011-03-14 14:10:16 -07:00
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
siu.h sh: define DMA slaves per CPU type, remove now redundant header 2010-05-22 16:51:17 +09:00
sizes.h sh: Conver to asm-generic/sizes.h. 2011-03-22 22:43:09 +09:00
smc37c93x.h
smp-ops.h sh: CPU hotplug support. 2010-04-26 19:08:55 +09:00
smp.h sh: CPU hotplug support. 2010-04-26 19:08:55 +09:00
socket.h
sockios.h
sparsemem.h
spi.h
spinlock.h
spinlock_types.h
sram.h sh: Provide a generic SRAM pool for tiny memories. 2010-10-15 02:09:00 +09:00
stacktrace.h sh: remove warning and warning_symbol from struct stacktrace_ops 2011-05-23 14:42:15 +09:00
stat.h
statfs.h
string.h
string_32.h
string_64.h
suspend.h PM / Hibernate: Remove arch_prepare_suspend() 2011-05-24 23:35:55 +02:00
swab.h
syscall.h
syscall_32.h
syscall_64.h
syscalls.h
syscalls_32.h SH: Add missing consts to sys_execve() declaration 2010-10-07 14:08:52 +01:00
syscalls_64.h Mark arguments to certain syscalls as being const 2010-08-13 16:53:13 -07:00
system.h sh: nommu: Support building without an uncached mapping. 2010-11-04 12:46:19 +09:00
system_32.h sh: nommu: Support building without an uncached mapping. 2010-11-04 12:46:19 +09:00
system_64.h sh: nommu: Support building without an uncached mapping. 2010-11-04 12:46:19 +09:00
termbits.h
termios.h
thread_info.h mm: NUMA aware alloc_thread_info_node() 2011-03-22 17:44:01 -07:00
timex.h
tlb.h sh: asm/tlb.h needs linux/swap.h 2011-05-31 13:27:41 +09:00
tlb_64.h
tlbflush.h sh: Provide a global TLB flush for U/I-TLB clear. 2010-07-02 15:44:09 +09:00
topology.h
types.h
uaccess.h
uaccess_32.h
uaccess_64.h
ucontext.h
unaligned-sh4a.h Fix common misspellings 2011-03-31 11:26:23 -03:00
unaligned.h
uncached.h sh: nommu: Support building without an uncached mapping. 2010-11-04 12:46:19 +09:00
unistd.h
unistd_32.h ns: Wire up the setns system call 2011-05-28 10:48:39 -07:00
unistd_64.h ns: Wire up the setns system call 2011-05-28 10:48:39 -07:00
unwinder.h
user.h
vga.h
vmlinux.lds.h
watchdog.h
xor.h