linux/arch/sparc/include/asm
Linus Torvalds ca520cab25 Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull locking and atomic updates from Ingo Molnar:
 "Main changes in this cycle are:

   - Extend atomic primitives with coherent logic op primitives
     (atomic_{or,and,xor}()) and deprecate the old partial APIs
     (atomic_{set,clear}_mask())

     The old ops were incoherent with incompatible signatures across
     architectures and with incomplete support.  Now every architecture
     supports the primitives consistently (by Peter Zijlstra)

   - Generic support for 'relaxed atomics':

       - _acquire/release/relaxed() flavours of xchg(), cmpxchg() and {add,sub}_return()
       - atomic_read_acquire()
       - atomic_set_release()

     This came out of porting qwrlock code to arm64 (by Will Deacon)

   - Clean up the fragile static_key APIs that were causing repeat bugs,
     by introducing a new one:

       DEFINE_STATIC_KEY_TRUE(name);
       DEFINE_STATIC_KEY_FALSE(name);

     which define a key of different types with an initial true/false
     value.

     Then allow:

       static_branch_likely()
       static_branch_unlikely()

     to take a key of either type and emit the right instruction for the
     case.  To be able to know the 'type' of the static key we encode it
     in the jump entry (by Peter Zijlstra)

   - Static key self-tests (by Jason Baron)

   - qrwlock optimizations (by Waiman Long)

   - small futex enhancements (by Davidlohr Bueso)

   - ... and misc other changes"

* 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (63 commits)
  jump_label/x86: Work around asm build bug on older/backported GCCs
  locking, ARM, atomics: Define our SMP atomics in terms of _relaxed() operations
  locking, include/llist: Use linux/atomic.h instead of asm/cmpxchg.h
  locking/qrwlock: Make use of _{acquire|release|relaxed}() atomics
  locking/qrwlock: Implement queue_write_unlock() using smp_store_release()
  locking/lockref: Remove homebrew cmpxchg64_relaxed() macro definition
  locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t'
  locking, asm-generic: Rework atomic-long.h to avoid bulk code duplication
  locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations
  locking, compiler.h: Cast away attributes in the WRITE_ONCE() magic
  locking/static_keys: Make verify_keys() static
  jump label, locking/static_keys: Update docs
  locking/static_keys: Provide a selftest
  jump_label: Provide a self-test
  s390/uaccess, locking/static_keys: employ static_branch_likely()
  x86, tsc, locking/static_keys: Employ static_branch_likely()
  locking/static_keys: Add selftest
  locking/static_keys: Add a new static_key interface
  locking/static_keys: Rework update logic
  locking/static_keys: Add static_key_{en,dis}able() helpers
  ...
2015-09-03 15:46:07 -07:00
..
agp.h
apb.h
asm-offsets.h
asm.h
asmmacro.h sparc32: add support for run-time patching of leon/sun single instructions 2012-05-27 23:52:43 -07:00
atomic_32.h atomic: Provide atomic_{or,xor,and} 2015-07-27 14:06:24 +02:00
atomic_64.h atomic: Provide atomic_{or,xor,and} 2015-07-27 14:06:24 +02:00
atomic.h
auxio_32.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
auxio_64.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
auxio.h sparc32: fix sparse warnings in auxio_32.c 2014-04-29 01:12:26 -04:00
backoff.h sparc64: Improvde documentation and readability of atomic backoff code. 2012-10-28 13:04:47 -07:00
barrier_32.h arch: Clean up asm/barrier.h implementations using asm-generic/barrier.h 2014-01-12 10:37:15 +01:00
barrier_64.h locking, arch: use WRITE_ONCE()/READ_ONCE() in smp_store_release()/smp_load_acquire() 2015-08-03 10:59:30 +02:00
barrier.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
bbc.h
bitext.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
bitops_32.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next 2014-06-19 07:50:07 -10:00
bitops_64.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next 2014-06-19 07:50:07 -10:00
bitops.h
btext.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
bug.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
bugs.h
cache.h sparc32: Remove completely unused code from asm/cache.h 2012-05-19 21:15:37 -07:00
cacheflush_32.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
cacheflush_64.h mm/debug_pagealloc: fix build failure on ppc and some other archs 2015-02-05 13:35:30 -08:00
cacheflush.h sparc32: use flushi when run-time patching in per_cpu_patch 2012-05-20 13:33:36 -07:00
cachetlb_32.h sparc32: Move cache and TLB flushes over to method ops. 2012-05-13 20:49:31 -07:00
chafsr.h
checksum_32.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next 2014-06-19 07:50:07 -10:00
checksum_64.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next 2014-06-19 07:50:07 -10:00
checksum.h
chmctrl.h
clock.h
cmpxchg_32.h arch: Remove __ARCH_HAVE_CMPXCHG 2015-05-13 10:55:42 +02:00
cmpxchg_64.h arch: Remove __ARCH_HAVE_CMPXCHG 2015-05-13 10:55:42 +02:00
cmpxchg.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
compat_signal.h sparc: switch to generic sigaltstack 2013-02-03 18:16:17 -05:00
compat.h sparc64: Make montmul/montsqr/mpmul usable in 32-bit threads. 2012-10-26 15:18:37 -07:00
contregs.h sparc32: Remove sun4{,c} control reg definitions from contregs.h. 2012-05-11 21:29:17 -07:00
cpu_type.h sparc32: Remove sun4 and sun4c from enum sparc_cpu. 2012-05-12 00:23:23 -07:00
cpudata_32.h sparc: Replace __get_cpu_var uses 2014-08-26 13:45:55 -04:00
cpudata_64.h sparc64: Setup sysfs to mark LDOM sockets, cores and threads correctly 2015-04-22 15:42:56 -04:00
cpudata.h sparc: fix sparse warnings in cpu.c 2014-04-29 01:12:25 -04:00
current.h
dcr.h
dcu.h
delay_32.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
delay_64.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
delay.h
device.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
dma-mapping.h sparc: Add NOP dma_cache_sync() implementation. 2014-11-26 13:36:41 -08:00
dma.h sparc32: Convert mmu_* interfaces from btfixup to method ops. 2012-05-13 13:57:05 -07:00
ebus_dma.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
ecc.h
eeprom.h
elf_32.h default SET_PERSONALITY() in linux/elf.h 2013-02-26 02:46:08 -05:00
elf_64.h sparc64: Add detection for features new in SPARC-T4. 2012-08-18 23:02:36 -07:00
elf.h
estate.h
fb.h
fbio.h UAPI: (Scripted) Disintegrate arch/sparc/include/asm 2012-10-09 09:47:43 +01:00
fhc.h
floppy_32.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
floppy_64.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
floppy.h
fpumacro.h
ftrace.h sparc64: fix sparse warning in ftrace.c 2014-05-18 19:01:35 -07:00
futex_32.h
futex_64.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
futex.h
gpio.h gpiolib/arches: Centralise bolierplate asm/gpio.h 2012-05-11 18:00:14 -06:00
hardirq_32.h hardirq: Make hardirq bits generic 2013-11-13 20:21:46 +01:00
hardirq_64.h hardirq: Make hardirq bits generic 2013-11-13 20:21:46 +01:00
hardirq.h
head_32.h sparc: Consistently use 'wr' and 'rd' instructions for ASRs. 2013-04-06 17:51:48 -04:00
head_64.h
head.h
hibernate.h sparc64: Hibernation support 2013-03-20 11:06:54 -07:00
highmem.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
hugetlb.h mm/hugetlb: remove arch_prepare/release_hugepage from arch headers 2015-06-25 17:00:35 -07:00
hvtramp.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
hw_irq.h
hypervisor.h sparc: perf: Add support M7 processor 2015-03-19 18:54:49 -07:00
ide.h
idprom.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
intr_queue.h
io_32.h arch/*/io.h: Add ioremap_wt() to all architectures 2015-06-07 15:28:57 +02:00
io_64.h arch/*/io.h: Add ioremap_wt() to all architectures 2015-06-07 15:28:57 +02:00
io-unit.h sparc32: fix sparse warning in io-unit.c 2014-05-18 19:01:26 -07:00
io.h sparc: io: remove duplicate relaxed accessors on sparc32 2014-11-19 10:19:45 +01:00
ioctls.h UAPI: (Scripted) Disintegrate arch/sparc/include/asm 2012-10-09 09:47:43 +01:00
iommu_32.h sparc32: fix sparse warning in iommu.c 2014-05-18 19:01:26 -07:00
iommu_64.h sparc: Make sparc64 use scalable lib/iommu-common.c functions 2015-04-18 12:32:59 -07:00
iommu.h
irq_32.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
irq_64.h sparc64: sparse irq 2014-10-05 16:53:40 -07:00
irq.h
irqflags_32.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
irqflags_64.h
irqflags.h
jump_label.h locking/static_keys: Add a new static_key interface 2015-08-03 11:34:15 +02:00
Kbuild mm: clean up per architecture MM hook header files 2015-07-17 16:39:53 -07:00
kdebug_32.h
kdebug_64.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
kdebug.h
kgdb.h sparc64: fix sparse warning in kgdb_64.c 2014-05-18 19:01:34 -07:00
kmap_types.h
kprobes.h sparc64: fix sparse warning in kprobes.c 2014-05-18 19:01:34 -07:00
ldc.h sparc/ldc: create separate ldc_unbind from ldc_free 2014-12-11 18:52:45 -08:00
leon_amba.h sparc32, leon: Remove separate "ticker" timer for SMP 2013-06-19 02:10:29 -07:00
leon_pci.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
leon.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
lsu.h
machines.h sparc32: Trivial removal of sun4c references in comments. 2012-05-12 00:35:45 -07:00
mbus.h sparc32: Remove cypress cpu support. 2012-05-15 10:22:00 -07:00
mc146818rtc_32.h
mc146818rtc_64.h
mc146818rtc.h sparc32: fix sparse warnings in time_32.c 2014-05-18 19:01:27 -07:00
mdesc.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
memctrl.h
mman.h UAPI: (Scripted) Disintegrate arch/sparc/include/asm 2012-10-09 09:47:43 +01:00
mmu_32.h
mmu_64.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
mmu_context_32.h sparc32: centralize all mmu context handling in srmmu.c 2012-07-26 16:46:16 -07:00
mmu_context_64.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
mmu_context.h
mmu.h
mmzone.h
msi.h
mxcc.h
nmi.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
ns87303.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
obio.h sparc32: move smp ipi to method ops 2012-05-14 14:05:07 -07:00
openprom.h
oplib_32.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
oplib_64.h sparc64: Fix register corruption in top-most kernel stack frame during boot. 2014-10-24 09:52:49 -07:00
oplib.h
page_32.h sparc32: drop sparc_unmapped_base 2012-07-26 16:46:16 -07:00
page_64.h sparc64: Adjust vmalloc region size based upon available virtual address bits. 2014-10-05 16:53:40 -07:00
page.h sparc: move page_to_phys to page.h 2014-05-02 01:30:20 -04:00
parport.h sparc: include: asm: drop owner assignment from platform_drivers 2014-10-20 16:20:14 +02:00
pbm.h
pci_32.h PCI: Remove unused pci_dma_burst_advice() 2015-06-08 07:56:43 -05:00
pci_64.h PCI: Remove unused pci_dma_burst_advice() 2015-06-08 07:56:43 -05:00
pci.h
pcic.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
pcr.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
percpu_32.h
percpu_64.h
percpu.h
perf_event.h
pgalloc_32.h sparc32: fix sparse warnings in ioport.c 2014-04-29 01:12:25 -04:00
pgalloc_64.h sparc64: Switch to 4-level page tables. 2014-10-05 16:53:38 -07:00
pgalloc.h
pgtable_32.h mm: make FIRST_USER_ADDRESS unsigned long on all archs 2015-02-11 17:06:03 -08:00
pgtable_64.h mm: clarify that the function operates on hugepage pte 2015-06-24 17:49:44 -07:00
pgtable.h
pgtsrmmu.h sparc: drop pte_file()-related helpers 2015-02-10 14:30:33 -08:00
pil.h
processor_32.h arch, locking: Ciao arch_mutex_cpu_relax() 2014-07-17 12:32:47 +02:00
processor_64.h arch, locking: Ciao arch_mutex_cpu_relax() 2014-07-17 12:32:47 +02:00
processor.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
prom.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
psr.h UAPI: (Scripted) Disintegrate arch/sparc/include/asm 2012-10-09 09:47:43 +01:00
ptrace.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
ross.h
rwsem.h
sbi.h
scratchpad.h
seccomp.h sparc: switch to using asm-generic for seccomp.h 2015-04-17 09:04:10 -04:00
sections.h sparc32: add support for run-time patching of leon/sun single instructions 2012-05-27 23:52:43 -07:00
setup.h sparc64: Fix register corruption in top-most kernel stack frame during boot. 2014-10-24 09:52:49 -07:00
sfafsr.h
sfp-machine_32.h sparc32: remove cast from output constraints in math asm statements 2014-05-18 19:01:28 -07:00
sfp-machine_64.h
sfp-machine.h
shmparam_32.h sparc32: Remove sun4 and sun4c from enum sparc_cpu. 2012-05-12 00:23:23 -07:00
shmparam_64.h
shmparam.h
sigcontext.h UAPI: (Scripted) Disintegrate arch/sparc/include/asm 2012-10-09 09:47:43 +01:00
siginfo.h UAPI: (Scripted) Disintegrate arch/sparc/include/asm 2012-10-09 09:47:43 +01:00
signal.h consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
smp_32.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
smp_64.h sparc64: fix sparse warnings in smp_64.c 2014-05-18 19:01:31 -07:00
smp.h
sparsemem.h sparc64: Fix inconsistent max-physical-address defines. 2013-11-12 15:22:34 -08:00
spinlock_32.h
spinlock_64.h
spinlock_types.h
spinlock.h
spitfire.h sparc64: correctly recognise M6 and M7 cpu type 2014-09-09 15:24:10 -07:00
stacktrace.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
starfire.h arch: sparc: kernel: starfire.c: Remove unused function 2015-03-01 21:33:58 -08:00
string_32.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
string_64.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
string.h
sunbpp.h
swift.h
switch_to_32.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
switch_to_64.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
switch_to.h Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
syscall.h sparc: implement is_32bit_task 2014-09-23 16:21:27 -04:00
syscalls.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
termbits.h UAPI: (Scripted) Disintegrate arch/sparc/include/asm 2012-10-09 09:47:43 +01:00
termios.h UAPI: (Scripted) Disintegrate arch/sparc/include/asm 2012-10-09 09:47:43 +01:00
thread_info_32.h sparc: Fix execution domain removal 2015-04-12 21:03:31 +02:00
thread_info_64.h sparc: Remove signal translation and exec_domain 2015-04-12 21:03:21 +02:00
thread_info.h
timer_32.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
timer_64.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
timer.h
timex_32.h sparc32: generic clockevent support 2012-04-15 10:28:50 -07:00
timex_64.h
timex.h
tlb_32.h
tlb_64.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
tlb.h
tlbflush_32.h sparc32: Move cache and TLB flushes over to method ops. 2012-05-13 20:49:31 -07:00
tlbflush_64.h sparc64: Guard against flushing openfirmware mappings. 2014-08-04 20:16:00 -07:00
tlbflush.h
topology_32.h
topology_64.h Merge branch 'linus' into sched/core, to resolve conflict 2015-06-02 08:05:42 +02:00
topology.h
trap_block.h sparc: Resolve conflict between sparc v9 and M7 on usage of bit 9 of TTE 2015-05-31 22:15:01 -07:00
traps.h UAPI: (Scripted) Disintegrate arch/sparc/include/asm 2012-10-09 09:47:43 +01:00
tsb.h sparc64: Fix physical memory management regressions with large max_phys_bits. 2014-10-05 16:53:39 -07:00
tsunami.h
ttable.h sparc64: Make montmul/montsqr/mpmul usable in 32-bit threads. 2012-10-26 15:18:37 -07:00
turbosparc.h
uaccess_32.h sparc32: nocheck uaccess coding style tweaks 2015-01-13 15:24:14 +02:00
uaccess_64.h sparc64: perf: Add sanity checking on addresses in user stack 2015-06-25 06:01:02 -07:00
uaccess.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
unaligned.h
unistd.h sys_sgetmask/sys_ssetmask: add CONFIG_SGETMASK_SYSCALL 2014-06-04 16:54:14 -07:00
upa.h
user.h
vaddrs.h sparc32: drop fixmap.h 2012-07-26 16:46:16 -07:00
vga.h
viking.h
vio.h vio: create routines for inc,dec vio dring indexes 2014-12-11 18:52:45 -08:00
visasm.h sparc64: Fix userspace FPU register corruptions. 2015-08-06 19:13:25 -07:00
winmacro.h sparc32: Implement hard_smp_processor_id() via instruction patching. 2012-05-14 13:31:38 -07:00
xor_32.h
xor_64.h sparc: drop use of extern for prototypes in arch/sparc/include/asm 2014-05-18 19:01:29 -07:00
xor.h