linux/arch/mips/kernel
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
..
.gitignore
8250-platform.c
asm-offsets.c MIPS: asm-offset.c: Patch up various comments refering to the old filename. 2015-07-14 16:05:49 +02:00
binfmt_elfn32.c
binfmt_elfo32.c MIPS: Remove old core dump functions 2014-08-02 00:06:37 +02:00
bmips_vec.S MIPS: BMIPS: Fix ".previous without corresponding .section" warnings 2014-11-24 07:44:05 +01:00
branch.c MIPS: Fix branch emulation for BLTC and BGEC instructions 2015-07-09 11:10:40 +02:00
cevt-bcm1480.c
cevt-ds1287.c
cevt-gt641xx.c
cevt-r4k.c MIPS: cevt-r4k: Cleanup c0_compare_interrupt. 2015-03-31 12:04:12 +02:00
cevt-sb1250.c
cevt-txx9.c MIPS: cevt-txx9: Implement read_sched_clock 2015-04-01 17:21:30 +02:00
cps-vec.S MIPS: cps-vec: Use macros for various arithmetics and memory operations 2015-07-09 11:17:01 +02:00
cpu-bugs64.c MIPS: kernel: cpu-bugs64: Do not check R6 cores for existing 64-bit bugs 2015-02-17 15:37:24 +00:00
cpu-probe.c MIPS: R12000: Enable branch prediction global history 2015-06-21 21:54:13 +02:00
crash.c mips: fix up obsolete cpu function usage. 2015-03-05 15:25:06 +10:30
crash_dump.c mips: Convert pr_warning to pr_warn 2014-11-24 07:44:51 +01:00
csrc-bcm1480.c MIPS: csrc-bcm1480: Implement read_sched_clock 2015-04-01 17:21:27 +02:00
csrc-ioasic.c MIPS: csrc-ioasic: Implement read_sched_clock 2015-04-01 17:21:28 +02:00
csrc-r4k.c MIPS: csrc-r4k: Implement read_sched_clock 2015-04-01 17:21:27 +02:00
csrc-sb1250.c MIPS: csrc-sb1250: Implement read_sched_clock 2015-04-01 17:21:33 +02:00
early_printk.c
early_printk_8250.c
elf.c MIPS: fix FP mode selection in lieu of .MIPS.abiflags data 2015-05-12 18:54:05 +02:00
entry.S MIPS: kernel: entry.S: Set correct ISA level for mips_ihb 2015-04-10 15:41:46 +02:00
ftrace.c Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-08-07 08:47:00 -07:00
genex.S MIPS: Fix LLVM build issue. 2015-08-18 11:40:20 +02:00
gpio_txx9.c
head.S MIPS: Add support for vmlinux.bin appended dtb 2015-06-21 21:54:14 +02:00
i8253.c
idle.c MIPS: idle: Workaround wait + FDC problems 2015-03-31 12:04:12 +02:00
irq-gt641xx.c
irq-msc01.c MIPS: MSC: Prevent out-of-bounds writes to MIPS SC ioremap'd region 2014-06-26 10:48:23 +01:00
irq-rm7000.c
irq.c MIPS: IRQ/IP27: Move IRQ allocation API to platform code. 2015-06-21 21:54:31 +02:00
irq_txx9.c
jump_label.c jump_label: Rename JUMP_LABEL_{EN,DIS}ABLE to JUMP_LABEL_{JMP,NOP} 2015-08-03 11:34:12 +02:00
kgdb.c MIPS: Get rid of 'kgdb_early_setup' cruft. 2015-06-21 21:54:10 +02:00
kprobes.c mips: Replace __get_cpu_var uses 2014-08-26 13:45:51 -04:00
linux32.c
machine_kexec.c MIPS: kdump: Set correct value to kexec_indirection_page variable 2014-08-25 16:33:44 +02:00
Makefile MIPS/irqchip: Move i8259 irqchip driver to drivers/irqchip 2015-07-31 22:04:49 +02:00
mcount.S MIPS: mcount: Adjust stack pointer for static trace in MIPS32 2014-09-26 11:41:17 +02:00
mips-cm.c MIPS: Replace use of phys_t with phys_addr_t. 2014-11-24 22:47:31 +01:00
mips-cpc.c MIPS: Replace use of phys_t with phys_addr_t. 2014-11-24 22:47:31 +01:00
mips-mt-fpaff.c MIPS: Fix sched_getaffinity with MT FPAFF enabled 2015-08-03 09:25:02 +02:00
mips-mt.c
mips-r2-to-r6-emul.c MIPS: Set `si_code' for SIGFPE signals sent from emulation too 2015-04-08 01:10:19 +02:00
mips_ksyms.c Merge branch 'mipsr6-for-3.20' of git://git.linux-mips.org/pub/scm/mchandras/linux into mips-for-linux-next 2015-02-19 16:00:34 +01:00
mips_machine.c
module-rela.c
module.c mm: vmalloc: pass additional vm_flags to __vmalloc_node_range() 2015-02-13 21:21:42 -08:00
octeon_switch.S MIPS: OCTEON: Delete unused COP2 saving code 2015-02-20 15:30:23 +01:00
perf_event.c
perf_event_mipsxx.c MIPS: perf: Add hardware perf events support for Loongson-3 2015-04-01 17:22:17 +02:00
pm-cps.c MIPS: {pm,smp}-cps: use cpu_vpe_id macro 2014-07-30 20:48:42 +02:00
pm.c
proc.c MIPS: Add support for XPA. 2015-03-19 17:39:49 +01:00
process.c This is the final removal (after several years!) of the obsolete cpus_* 2015-04-20 10:19:03 -07:00
prom.c MIPS: Fix build with CONFIG_OF=y for non OF-enabled targets 2015-08-03 09:25:00 +02:00
ptrace.c MIPS: Fix a preemption issue with thread's FPU defaults 2015-05-12 23:15:49 +02:00
ptrace32.c MIPS: Remove asm/user.h 2014-08-02 00:06:37 +02:00
r4k_fpu.S MIPS: Push .set mips64r* into the functions needing it 2015-03-27 19:42:42 +01:00
r4k_switch.S MIPS: Respect the ISA level in FCSR handling 2015-04-08 01:10:37 +02:00
r2300_fpu.S MIPS: Fix build with binutils 2.24.51+ 2014-11-07 15:07:36 +01:00
r2300_switch.S MIPS: Respect the ISA level in FCSR handling 2015-04-08 01:10:37 +02:00
r6000_fpu.S MIPS: Fix build with binutils 2.24.51+ 2014-11-07 15:07:36 +01:00
relocate_kernel.S MIPS: Replace add and sub instructions in relocate_kernel.S with addiu 2015-08-03 15:26:30 +02:00
reset.c MIPS: Provide fallback reboot/poweroff/halt implementations 2015-04-01 17:21:58 +02:00
rtlx-cmp.c MIPS: APRP: Fix an issue when device_create() fails. 2014-08-01 17:30:35 +02:00
rtlx-mt.c MIPS: APRP: Fix an issue when device_create() fails. 2014-08-01 17:30:35 +02:00
rtlx.c MIPS: rtlx: Remove KERN_DEBUG from pr_debug() arguments in rtlx.c 2014-11-24 07:44:04 +01:00
scall32-o32.S MIPS: O32: Do not handle require 32 bytes from the stack to be readable. 2015-07-08 05:03:30 +02:00
scall64-64.S MIPS: Fix seccomp syscall argument for MIPS64 2015-08-16 15:00:59 +02:00
scall64-n32.S MIPS: Fix seccomp syscall argument for MIPS64 2015-08-16 15:00:59 +02:00
scall64-o32.S MIPS: O32: Use compat_sys_getsockopt. 2015-07-10 11:02:22 +02:00
segment.c
setup.c treewide: fix typos in comment blocks 2015-08-07 14:46:24 +02:00
signal-common.h sched/preempt, MIPS: Properly lock access to the FPU 2015-05-19 08:39:18 +02:00
signal.c all arches, signal: move restart_block to struct task_struct 2015-02-12 18:54:12 -08:00
signal32.c signal: fix information leak in copy_siginfo_from_user32 2015-08-07 04:39:40 +03:00
signal_n32.c mips: Use sigsp() 2014-08-06 13:04:30 +02:00
smp-bmips.c MIPS: SMP: Don't increment irq_count multiple times for call function IPIs 2015-08-03 09:25:12 +02:00
smp-cmp.c mips: fix up obsolete cpu function usage. 2015-03-05 15:25:06 +10:30
smp-cps.c MIPS: kernel: smp-cps: Fix 64-bit compatibility errors due to pointer casting 2015-07-09 11:12:57 +02:00
smp-gic.c MIPS: Move gic.h to include/linux/irqchip/mips-gic.h 2014-11-24 07:44:59 +01:00
smp-mt.c mips: fix up obsolete cpu function usage. 2015-03-05 15:25:06 +10:30
smp-up.c
smp.c MIPS: SMP: Don't increment irq_count multiple times for call function IPIs 2015-08-03 09:25:12 +02:00
spinlock_test.c
spram.c MIPS: Add cases for CPU_QEMU_GENERIC 2015-02-16 10:01:24 +00:00
stacktrace.c
sync-r4k.c
syscall.c MIPS: kernel: syscall: Set the appropriate ISA level for MIPS R6 2015-02-17 15:37:29 +00:00
sysrq.c MIPS: Add SysRq operation to dump TLBs on all CPUs 2015-06-21 21:52:27 +02:00
time.c
topology.c
traps.c MIPS: show_stack: Fix stack trace with EVA 2015-08-03 09:25:17 +02:00
unaligned.c MIPS: unaligned: Fix build error on big endian R6 kernels 2015-08-03 09:25:05 +02:00
vdso.c MIPS: Enable VDSO randomization 2014-11-24 07:45:38 +01:00
vmlinux.lds.S MIPS: Add support for vmlinux.bin appended dtb 2015-06-21 21:54:14 +02:00
vpe-cmp.c
vpe-mt.c
vpe.c
watch.c