Haavard Skinnemoen
bb7aa6d47f
[AVR32] Don't use __builtin_xchg()
...
The implementation of __builtin_xchg() in at least some versions of
avr32 gcc is buggy. Rather than find out exactly which versions that
have this bug, let's just avoid the problem altogether by implementing
xchg() in inline assembly.
Also, in most architectures, xchg() seems to imply a memory barrier,
while the existing avr32 implementation did not. This patch also fixes
that discrepancy.
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-10-11 13:32:56 +02:00
..
arch-at32ap
[AVR32] SMC configuration in clock cycles
2007-10-11 13:32:49 +02:00
mach
[PATCH] atmel_serial: Rename at91_register_uart_fns
2006-10-04 10:25:05 -07:00
a.out.h
arch: personality independent stack top
2007-07-19 10:04:45 -07:00
addrspace.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
asm.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
atomic.h
[AVR32] Fix atomic_add_unless() and atomic_sub_unless()
2007-07-18 20:47:04 +02:00
auxvec.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
bitops.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
bug.h
Fix WARN_ON() on bitfield ops for all other archs
2007-08-01 20:45:38 -07:00
bugs.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
byteorder.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
cache.h
[AVR32] Define ARCH_KMALLOC_MINALIGN to L1_CACHE_BYTES
2007-06-14 18:30:50 +02:00
cachectl.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
cacheflush.h
[PATCH] Optimize D-cache alias handling on fork
2006-12-13 09:27:08 -08:00
checksum.h
Remove a couple final references to obsolete verify_area().
2007-02-09 15:01:56 +01:00
cputime.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
current.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
delay.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
device.h
Driver core: add dev_archdata to struct device
2006-12-01 14:52:01 -08:00
div64.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
dma-mapping.h
[AVR32] Make dma_sync_*_for_cpu no-ops
2007-10-11 12:16:57 +02:00
dma.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
elf.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
emergency-restart.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
errno.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
fb.h
fbdev: detect primary display device
2007-07-17 10:23:11 -07:00
fcntl.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
futex.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
gpio.h
[AVR32] GPIO API implementation
2007-02-09 15:01:58 +01:00
hardirq.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
hw_irq.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
intc.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
io.h
[AVR32] Define mmiowb()
2007-08-15 16:36:56 +02:00
ioctl.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
ioctls.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
ipcbuf.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
irq.h
[AVR32] GPIO API implementation
2007-02-09 15:01:58 +01:00
irq_regs.h
[PATCH] IRQ: Fix AVR32 breakage
2006-10-11 11:14:14 -07:00
irqflags.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
Kbuild
[AVR32] Fix typo in include/asm-avr32/Kbuild
2007-03-07 10:50:27 +01:00
kdebug.h
[AVR32] optimize pagefault path
2007-05-13 17:07:46 +02:00
kmap_types.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
kprobes.h
[AVR32] optimize pagefault path
2007-05-13 17:07:46 +02:00
linkage.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
local.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
mman.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
mmu.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
mmu_context.h
[PATCH] x86: PARAVIRT: add hooks to intercept mm creation and destruction
2007-05-02 19:27:14 +02:00
module.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
msgbuf.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
mutex.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
namei.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
numnodes.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
ocd.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
page.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
param.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
pci.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
percpu.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
pgalloc.h
[AVR32] Simplify pte_alloc_one{,_kernel}
2007-08-15 16:36:56 +02:00
pgtable-2level.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
pgtable.h
[AVR32] Fix bogus pte_page() definition
2007-08-15 16:36:56 +02:00
poll.h
Consolidate asm/poll.h
2007-05-11 08:29:34 -07:00
posix_types.h
[AVR32] ssize_t should be long, not int
2007-02-09 15:01:59 +01:00
processor.h
[AVR32] Clean up exception handling code
2007-04-27 13:44:13 +02:00
ptrace.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
resource.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
scatterlist.h
PCI: scatterlist.h needs types.h
2007-05-02 19:02:34 -07:00
sections.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
semaphore.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
sembuf.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
setup.h
[AVR32] Fix section mismatch .taglist -> .init.text
2007-05-09 09:26:18 +02:00
shmbuf.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
shmparam.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
sigcontext.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
siginfo.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
signal.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
socket.h
[NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support
2007-04-25 22:24:21 -07:00
sockios.h
[NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution
2007-04-25 22:24:04 -07:00
stat.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
statfs.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
string.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
sysreg.h
[AVR32] Clean up asm/sysreg.h
2007-04-27 13:44:13 +02:00
system.h
[AVR32] Don't use __builtin_xchg()
2007-10-11 13:32:56 +02:00
termbits.h
lots-of-architectures: enable arbitary speed tty support
2007-07-10 17:51:13 -07:00
termios.h
[PATCH] consolidate line discipline number definitions
2007-02-11 10:51:26 -08:00
thread_info.h
remove unused TIF_NOTIFY_RESUME flag
2007-07-31 15:39:38 -07:00
timex.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
tlb.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
tlbflush.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
topology.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
traps.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
types.h
[PATCH] Centralise definitions of sector_t and blkcnt_t
2006-12-04 19:41:15 -08:00
uaccess.h
[AVR32] Fix compile error with gcc 4.1
2007-04-27 14:21:47 +02:00
ucontext.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00
unaligned.h
[AVR32] Remove optimization of unaligned word loads
2007-07-18 20:45:51 +02:00
unistd.h
[AVR32] Ignore a few irrelevant syscalls
2007-10-11 13:32:55 +02:00
user.h
[PATCH] avr32 architecture
2006-09-26 08:48:54 -07:00