linux/include/asm-avr32
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