Peter Zijlstra
b0d8003ef4
frv: Rewrite atomic implementation
...
Mostly complete rewrite of the FRV atomic implementation, instead of
using assembly files, use inline assembler.
The out-of-line CONFIG option makes a bit of a mess of things, but a
little CPP trickery gets that done too.
FRV already had the atomic logic ops but under a non standard name,
the reimplementation provides the generic names and provides the
intermediate form required for the bitops implementation.
The slightly inconsistent __atomic32_fetch_##op naming is because
__atomic_fetch_##op conlicts with GCC builtin functions.
The 64bit atomic ops use the inline assembly %Ln construct to access
the low word register (r+1), afaik this construct was not previously
used in the kernel and is completely undocumented, but I found it in
the FRV GCC code and it seems to work.
FRV had a non-standard definition of atomic_{clear,set}_mask() which
would work types other than atomic_t, the one user relying on that
(arch/frv/kernel/dma.c) got converted to use the new intermediate
form.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2015-07-27 14:06:23 +02:00
..
asm-offsets.c
frv: Remove signal translation and exec_domain
2015-04-12 20:58:24 +02:00
break.S
Rename special text sections in arch/frv from .text.XXX to .text..XXX.
2010-03-03 11:26:01 +01:00
cmode.S
Fix various old email addresses for dwmw2
2008-06-06 11:29:10 -07:00
debug-stub.c
Disintegrate asm/system.h for FRV
2012-03-28 18:30:02 +01:00
dma.c
frv: Rewrite atomic implementation
2015-07-27 14:06:23 +02:00
entry-table.S
Fix common misspellings
2011-03-31 11:26:23 -03:00
entry.S
frv: fix the broken preempt
2012-11-02 12:08:25 -04:00
frv_ksyms.c
frv: Rewrite atomic implementation
2015-07-27 14:06:23 +02:00
futex.c
futex: Sanitize futex ops argument types
2011-03-11 12:23:31 +01:00
gdb-io.c
Disintegrate asm/system.h for FRV
2012-03-28 18:30:02 +01:00
gdb-io.h
gdb-stub.c
Disintegrate asm/system.h for FRV
2012-03-28 18:30:02 +01:00
head-mmu-fr451.S
FRV: Use __INIT macro instead of .text.init.
2009-04-27 19:46:30 -07:00
head-uc-fr401.S
FRV: Use __INIT macro instead of .text.init.
2009-04-27 19:46:30 -07:00
head-uc-fr451.S
FRV: Use __INIT macro instead of .text.init.
2009-04-27 19:46:30 -07:00
head-uc-fr555.S
FRV: Use __INIT macro instead of .text.init.
2009-04-27 19:46:30 -07:00
head.inc
FRV: Make NOMMU-mode work with base addresses other than 0xC0000000 [try #2 ]
2008-04-10 13:41:29 -07:00
head.S
frv: head.S - Remove commented-out initialization code
2013-06-16 13:47:47 +02:00
irq-mb93091.c
frv: remove deprecated IRQF_DISABLED
2014-10-09 22:26:03 -04:00
irq-mb93093.c
frv: remove deprecated IRQF_DISABLED
2014-10-09 22:26:03 -04:00
irq-mb93493.c
frv: remove deprecated IRQF_DISABLED
2014-10-09 22:26:03 -04:00
irq.c
Disintegrate asm/system.h for FRV
2012-03-28 18:30:02 +01:00
local.h
[PATCH] FRV: Fix FRV arch compile errors
2006-07-10 13:24:21 -07:00
local64.h
arch: Implement local64_t
2010-06-09 11:12:36 +02:00
Makefile
frv: switch to generic kernel_execve
2012-10-01 00:53:11 -04:00
module.c
modules: make arch's use default loader hooks
2011-07-24 22:06:04 +09:30
pm-mb93093.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
pm.c
frv: Convert use of typedef ctl_table to struct ctl_table
2013-06-14 11:56:07 +02:00
process.c
frv: Use generic idle loop
2013-04-08 17:39:25 +02:00
ptrace.c
Disintegrate asm/system.h for FRV
2012-03-28 18:30:02 +01:00
setup.c
frv: remove unused cpuinfo_frv and friends to fix future build error
2014-10-09 22:26:03 -04:00
signal.c
Merge branch 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc
2015-04-15 13:53:55 -07:00
sleep.S
Fix various old email addresses for dwmw2
2008-06-06 11:29:10 -07:00
switch_to.S
FRV: Make NOMMU-mode work with base addresses other than 0xC0000000 [try #2 ]
2008-04-10 13:41:29 -07:00
sys_frv.c
Add generic sys_ipc wrapper
2010-03-12 15:52:32 -08:00
sysctl.c
frv: Convert use of typedef ctl_table to struct ctl_table
2013-06-14 11:56:07 +02:00
time.c
frv: remove deprecated IRQF_DISABLED
2014-10-09 22:26:03 -04:00
traps.c
arch/frv/kernel/traps.c: using vsnprintf() instead of vsprintf()
2013-07-03 16:07:41 -07:00
uaccess.c
FRV: BUG to BUG_ON changes
2009-06-11 09:01:26 -07:00
vmlinux.lds.S
percpu: Always align percpu output section to PAGE_SIZE
2011-03-24 18:50:09 +01:00