linux-sg2042/arch/mips/include/asm
Huacai Chen e02e07e312
MIPS: Loongson: Introduce and use loongson_llsc_mb()
On the Loongson-2G/2H/3A/3B there is a hardware flaw that ll/sc and
lld/scd is very weak ordering. We should add sync instructions "before
each ll/lld" and "at the branch-target between ll/sc" to workaround.
Otherwise, this flaw will cause deadlock occasionally (e.g. when doing
heavy load test with LTP).

Below is the explaination of CPU designer:

"For Loongson 3 family, when a memory access instruction (load, store,
or prefetch)'s executing occurs between the execution of LL and SC, the
success or failure of SC is not predictable. Although programmer would
not insert memory access instructions between LL and SC, the memory
instructions before LL in program-order, may dynamically executed
between the execution of LL/SC, so a memory fence (SYNC) is needed
before LL/LLD to avoid this situation.

Since Loongson-3A R2 (3A2000), we have improved our hardware design to
handle this case. But we later deduce a rarely circumstance that some
speculatively executed memory instructions due to branch misprediction
between LL/SC still fall into the above case, so a memory fence (SYNC)
at branch-target (if its target is not between LL/SC) is needed for
Loongson 3A1000, 3B1500, 3A2000 and 3A3000.

Our processor is continually evolving and we aim to to remove all these
workaround-SYNCs around LL/SC for new-come processor."

Here is an example:

Both cpu1 and cpu2 simutaneously run atomic_add by 1 on same atomic var,
this bug cause both 'sc' run by two cpus (in atomic_add) succeed at same
time('sc' return 1), and the variable is only *added by 1*, sometimes,
which is wrong and unacceptable(it should be added by 2).

Why disable fix-loongson3-llsc in compiler?
Because compiler fix will cause problems in kernel's __ex_table section.

This patch fix all the cases in kernel, but:

+. the fix at the end of futex_atomic_cmpxchg_inatomic is for branch-target
of 'bne', there other cases which smp_mb__before_llsc() and smp_llsc_mb() fix
the ll and branch-target coincidently such as atomic_sub_if_positive/
cmpxchg/xchg, just like this one.

+. Loongson 3 does support CONFIG_EDAC_ATOMIC_SCRUB, so no need to touch
edac.h

+. local_ops and cmpxchg_local should not be affected by this bug since
only the owner can write.

+. mips_atomic_set for syscall.c is deprecated and rarely used, just let
it go

Signed-off-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Huang Pei <huangpei@loongson.cn>
[paul.burton@mips.com:
  - Simplify the addition of -mno-fix-loongson3-llsc to cflags, and add
    a comment describing why it's there.
  - Make loongson_llsc_mb() a no-op when
    CONFIG_CPU_LOONGSON3_WORKAROUNDS=n, rather than a compiler memory
    barrier.
  - Add a comment describing the bug & how loongson_llsc_mb() helps
    in asm/barrier.h.]
Signed-off-by: Paul Burton <paul.burton@mips.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: ambrosehua@gmail.com
Cc: Steven J . Hill <Steven.Hill@cavium.com>
Cc: linux-mips@linux-mips.org
Cc: Fuxin Zhang <zhangfx@lemote.com>
Cc: Zhangjin Wu <wuzhangjin@gmail.com>
Cc: Li Xuefeng <lixuefeng@loongson.cn>
Cc: Xu Chenghua <xuchenghua@loongson.cn>
2019-02-04 10:53:34 -08:00
..
dec
emma
fw License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ip32
lasat License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mach-ar7 MIPS: Make (UN)CAC_ADDR() PHYS_OFFSET-agnostic 2018-07-30 10:27:20 -07:00
mach-ath25 MIPS: ath25: use generic dma noncoherent ops 2018-06-24 09:27:27 -07:00
mach-ath79 MIPS: ath79: finetune cpu-overrides 2018-07-24 18:57:59 -07:00
mach-au1x00 MIPS: Alchemy: update cpu-feature-overrides 2018-12-23 07:58:26 -08:00
mach-bcm47xx MIPS: BCM47XX: Add support for Netgear WNR1000 V3 2018-04-23 16:39:34 +01:00
mach-bcm63xx MIPS: BCM63XX: drop unused and broken DSP platform device 2018-12-31 07:12:35 -08:00
mach-bmips MIPS: bmips: use generic dma noncoherent ops 2018-06-24 09:27:27 -07:00
mach-cavium-octeon MIPS: Octeon: move swiotlb declarations out of dma-coherence.h 2018-06-24 09:26:03 -07:00
mach-cobalt MIPS16e2: Provide feature overrides for non-MIPS16 systems 2017-07-11 14:13:06 +02:00
mach-db1x00 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mach-dec MIPS16e2: Provide feature overrides for non-MIPS16 systems 2017-07-11 14:13:06 +02:00
mach-emma2rh MIPS: Create a common <asm/mach-generic/war.h> 2015-03-31 11:59:40 +02:00
mach-generic MIPS: Only include mmzone.h when CONFIG_NEED_MULTIPLE_NODES=y 2018-11-21 19:54:59 -08:00
mach-ip22 MIPS16e2: Provide feature overrides for non-MIPS16 systems 2017-07-11 14:13:06 +02:00
mach-ip27 MIPS: IP27: use dma_direct_ops 2018-06-24 09:26:04 -07:00
mach-ip28 MIPS16e2: Provide feature overrides for non-MIPS16 systems 2017-07-11 14:13:06 +02:00
mach-ip32 MIPS: IP32: use generic dma noncoherent ops 2018-06-24 09:27:27 -07:00
mach-jazz MIPS: jazz: split dma mapping operations from dma-default 2018-06-24 09:27:27 -07:00
mach-jz4740 mmc: jz4740: Use GPIO descriptor for power 2018-12-17 08:26:24 +01:00
mach-lantiq MIPS: lantiq: Use CP0_LEGACY_COMPARE_IRQ 2019-01-07 13:38:35 -08:00
mach-lasat License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mach-loongson32 MIPS: Loongson1: Add watchdog support for Loongson1 board 2017-01-03 16:34:42 +01:00
mach-loongson64 Kconfig file consolidation for v4.21 2018-12-29 13:40:29 -08:00
mach-malta Update MIPS email addresses 2017-11-03 09:02:30 -07:00
mach-netlogic MIPS16e2: Provide feature overrides for non-MIPS16 systems 2017-07-11 14:13:06 +02:00
mach-paravirt MIPS: paravirt: Fix undefined reference to smp_bootstrap 2016-09-13 16:45:15 +02:00
mach-pic32 MIPS: Make (UN)CAC_ADDR() PHYS_OFFSET-agnostic 2018-07-30 10:27:20 -07:00
mach-pistachio MIPS: Remove all the uses of custom gpio.h 2015-09-03 12:08:02 +02:00
mach-pmcs-msp71xx
mach-pnx833x MIPS: Create a common <asm/mach-generic/war.h> 2015-03-31 11:59:40 +02:00
mach-ralink License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mach-rc32434 ata: rb532_cf: Convert to use GPIO descriptors 2018-12-04 17:15:25 -07:00
mach-rm MIPS16e2: Provide feature overrides for non-MIPS16 systems 2017-07-11 14:13:06 +02:00
mach-sibyte MIPS16e2: Provide feature overrides for non-MIPS16 systems 2017-07-11 14:13:06 +02:00
mach-tx39xx License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mach-tx49xx License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mach-vr41xx License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mach-xilfpga MIPS: xilfpga: Add mipsfpga platform code 2015-11-11 08:38:44 +01:00
mips-boards License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
netlogic MIPS: netlogic: xlr: Remove erroneous check in nlm_fmn_send() 2018-08-08 09:48:32 -07:00
octeon MIPS: OCTEON: delete redundant register definitions 2018-12-04 15:57:30 -08:00
pci MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
sgi License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sibyte MIPS: BCM1480: bcm1480_regs.h: strip redundant comments 2016-05-13 14:02:13 +02:00
sn License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
txx9 JFFS2 changes: 2018-08-14 10:57:44 -07:00
vr41xx gpio: vr41xx: Delete vr41xx_gpio_pullupdown() callback 2018-09-17 10:55:24 -07:00
xtalk MIPS: Xtalk: Update xwidget.h with known Xtalk device numbers 2015-06-21 21:54:21 +02:00
Kbuild mips: generate uapi header and system call table files 2018-12-14 11:19:02 -08:00
abi.h signals: Prepare to split out <linux/signal_types.h> from <linux/signal.h> 2017-03-02 08:42:37 +01:00
addrspace.h MIPS: Adjust MIPS64 CAC_BASE to reflect Config.K0 2016-10-06 18:02:35 +02:00
amon.h
arch_hweight.h
asm-eva.h MIPS: Add kernel_pref & user_pref helpers 2018-10-15 23:11:13 -07:00
asm-offsets.h
asm-prototypes.h MIPS: Export tlbmiss_handler_setup_pgd near its definition 2018-08-10 17:27:51 -07:00
asm.h MIPS: Remove unused PREF, PREFE & PREFX macros 2018-10-15 23:11:14 -07:00
asmmacro-32.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
asmmacro-64.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
asmmacro.h MIPS: Fix odd fp register warnings with MIPS64r2 2017-11-10 20:58:56 +00:00
atomic.h MIPS: Loongson: Introduce and use loongson_llsc_mb() 2019-02-04 10:53:34 -08:00
barrier.h MIPS: Loongson: Introduce and use loongson_llsc_mb() 2019-02-04 10:53:34 -08:00
bcache.h MIPS: Introduce API for enabling & disabling L2 prefetch 2015-10-26 09:49:41 +01:00
bitops.h MIPS: Loongson: Introduce and use loongson_llsc_mb() 2019-02-04 10:53:34 -08:00
bitrev.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bmips-spaces.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bmips.h MIPS: bmips: use generic dma noncoherent ops 2018-06-24 09:27:27 -07:00
bootinfo.h MIPS: platform: add machtype IDs for more Ingenic SoCs 2018-01-18 22:07:16 +00:00
branch.h MIPS: Fix unaligned PC interpretation in `compute_return_epc' 2017-06-29 02:42:26 +02:00
break.h
bug.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bugs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cache.h Revert "MIPS: Don't unnecessarily include kmalloc.h into <asm/cache.h>." 2017-08-07 12:01:17 +02:00
cacheflush.h MIPS: c-r4k: Split user/kernel flush_icache_range() 2016-10-04 16:13:57 +02:00
cacheops.h MIPS: Loongson: Add Loongson-3A R2 basic support 2016-05-13 14:02:14 +02:00
cdmm.h MIPS: CDMM: Add builtin_mips_cdmm_driver() macro 2015-11-05 11:15:41 +01:00
cevt-r4k.h MIPS: cevt-r4k: Migrate to new 'set-state' interface 2015-09-03 12:07:52 +02:00
checksum.h Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
clock.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
clocksource.h MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime() 2015-11-11 08:36:41 +01:00
cmp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cmpxchg.h MIPS: Avoid using .set mips0 to restore ISA 2018-11-09 10:23:19 -08:00
compat-signal.h Merge branch 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-11-17 11:54:55 -08:00
compat.h asm-generic: Move common compat types to asm-generic/compat.h 2018-08-29 15:42:20 +02:00
compiler.h MIPS: Simplify GCC_OFF_SMALL_ASM definition 2018-11-07 16:26:42 -08:00
cop2.h
cpu-features.h MIPS: Hardcode cpu_has_mips* where target ISA allows 2018-11-26 22:49:20 -08:00
cpu-info.h MIPS: Expand MIPS32 ASIDs to 64 bits 2018-12-05 14:46:44 -08:00
cpu-type.h MIPS: Remove unused R6000 support 2017-08-29 15:21:51 +02:00
cpu.h MIPS: Loongson: Add Loongson-3A R2.1 basic support 2018-11-19 15:20:31 -08:00
cpufeature.h MIPS: Enable GENERIC_CPU_AUTOPROBE 2017-04-10 11:56:04 +02:00
debug.h MIPS: Declare mips_debugfs_dir in a header 2015-10-26 09:49:42 +01:00
delay.h
div64.h
dma-coherence.h dma-mapping: move the dma_coherent flag to struct device 2018-09-20 09:01:15 +02:00
dma-direct.h MIPS: consolidate the swiotlb implementations 2018-06-24 09:26:03 -07:00
dma-mapping.h dma-mapping: bypass indirect calls for dma-direct 2018-12-13 21:06:18 +01:00
dma.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ds1287.h
dsemul.h MIPS: Don't compile math-emu when CONFIG_MIPS_FP_SUPPORT=n 2018-11-09 10:23:18 -08:00
dsp.h
edac.h MIPS: Avoid using .set mips0 to restore ISA 2018-11-09 10:23:19 -08:00
elf.h MIPS: Avoid FP ELF checks when CONFIG_MIPS_FP_SUPPORT=n 2018-11-09 10:23:18 -08:00
errno.h
eva.h
exec.h
extable.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fb.h
fixmap.h
floppy.h MIPS: Don't use dma_cache_sync to implement fd_cacheflush 2017-08-30 00:57:29 +02:00
fpregdef.h
fpu.h MIPS: Stub asm/fpu.h functions 2018-11-09 10:23:15 -08:00
fpu_emulator.h MIPS: Simplify FP context initialization 2018-11-09 10:23:13 -08:00
ftrace.h
futex.h MIPS: Loongson: Introduce and use loongson_llsc_mb() 2019-02-04 10:53:34 -08:00
gio_device.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gt64120.h
hardirq.h
hazards.h MIPS: Avoid using .set mips0 to restore ISA 2018-11-09 10:23:19 -08:00
highmem.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hpet.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hugetlb.h hugetlb: introduce generic version of huge_ptep_get 2018-10-26 16:26:34 -07:00
hw_irq.h
i8259.h MIPS: IRQ: Remove useless i8259_of_init() prototype. 2017-01-03 16:34:48 +01:00
ide.h
idle.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
inst.h
io.h MIPS: Avoid using .set mips0 to restore ISA 2018-11-09 10:23:19 -08:00
irq.h MIPS: Fix minimum alignment requirement of IRQ stack 2017-07-11 14:13:06 +02:00
irq_cpu.h
irq_gt641xx.h
irq_regs.h MIPS: Select CONFIG_HANDLE_DOMAIN_IRQ and make it work. 2016-05-13 14:01:40 +02:00
irqflags.h MIPS: Loongson-3: Introduce CONFIG_LOONGSON3_ENHANCEMENT 2016-05-13 14:02:15 +02:00
isa-rev.h MIPS: Introduce isa-rev.h to define MIPS_ISA_REV 2018-03-09 11:22:45 +00:00
isadep.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
jazz.h
jazzdma.h mips/jazz: remove the mapping_error dma_map_ops method 2018-12-06 06:56:38 -08:00
jump_label.h locking/static_keys: Add a new static_key interface 2015-08-03 11:34:15 +02:00
kdebug.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
kexec.h MIPS: kexec: Relax memory restriction 2018-09-22 10:32:34 -07:00
kgdb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
kmap_types.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
kprobes.h MIPS/kprobes: Remove jprobe implementation 2018-06-21 12:33:09 +02:00
kvm_host.h * ARM: selftests improvements, large PUD support for HugeTLB, 2018-12-26 11:46:28 -08:00
kvm_para.h KVM: Introduce paravirtualization hints and KVM_HINTS_DEDICATED 2018-03-06 18:40:44 +01:00
linkage.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
llsc.h MIPS: Move definitions for 32/64-bit agonstic inline assembler to new file. 2016-05-09 12:00:05 +02:00
local.h MIPS: Avoid using .set mips0 to restore ISA 2018-11-09 10:23:19 -08:00
m48t37.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
maar.h Update MIPS email addresses 2017-11-03 09:02:30 -07:00
machine.h MIPS: generic: Fix machine compatible matching 2018-02-05 10:37:48 +00:00
mc146818-time.h MIPS: Convert read_persistent_clock() to read_persistent_clock64() 2018-05-14 23:58:23 +01:00
mc146818rtc.h
mips-cm.h Update MIPS email addresses 2017-11-03 09:02:30 -07:00
mips-cpc.h Update MIPS email addresses 2017-11-03 09:02:30 -07:00
mips-cps.h Update MIPS email addresses 2017-11-03 09:02:30 -07:00
mips-gic.h Update MIPS email addresses 2017-11-03 09:02:30 -07:00
mips-r2-to-r6-emul.h MIPS: traps: Correct the SIGTRAP debug ABI in `do_watch' and `do_trap_or_bp' 2016-04-03 12:32:09 +02:00
mips_machine.h
mips_mt.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mipsmtregs.h MIPS: Avoid using .set mips0 to restore ISA 2018-11-09 10:23:19 -08:00
mipsprom.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mipsregs.h MIPS: Avoid using .set mips0 to restore ISA 2018-11-09 10:23:19 -08:00
mmu.h MIPS: Remove struct mm_context_t fp_mode_switching field 2018-12-17 22:05:40 -08:00
mmu_context.h MIPS: Expand MIPS32 ASIDs to 64 bits 2018-12-05 14:46:44 -08:00
mmzone.h MIPS: Only include mmzone.h when CONFIG_NEED_MULTIPLE_NODES=y 2018-11-21 19:54:59 -08:00
module.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
msa.h MIPS: MSA: Update helpers to use new asm macros 2018-01-22 20:52:27 +00:00
msc01_ic.h
nile4.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
paccess.h
page.h MIPS: Enable IOREMAP_PROT config option for MIPS cpus 2018-11-05 10:15:28 -08:00
pci.h PCI: remove PCI_DMA_BUS_IS_PHYS 2018-05-07 07:15:41 +02:00
perf_event.h
pgalloc.h mm: treewide: remove unused address argument from pte_alloc functions 2019-01-04 13:13:47 -08:00
pgtable-32.h MIPS: mm: adjust PKMAP location 2017-06-08 14:51:58 +02:00
pgtable-64.h MIPS: Ensure pmd_present() returns false after pmd_mknotpresent() 2018-11-20 21:05:39 -08:00
pgtable-bits.h MIPS: Allow RIXI to be used on non-R2 or R6 cores 2016-05-13 15:30:25 +02:00
pgtable.h MIPS: Loongson: Introduce and use loongson_llsc_mb() 2019-02-04 10:53:34 -08:00
pm-cps.h Update MIPS email addresses 2017-11-03 09:02:30 -07:00
pm.h
pmon.h
prefetch.h
processor.h MIPS: Remove struct task_struct fpu state when CONFIG_MIPS_FP_SUPPORT=n 2018-11-09 10:23:19 -08:00
prom.h MIPS: prepare for user enabling of CONFIG_OF 2015-06-21 21:54:14 +02:00
ptrace.h MIPS: ptrace: Fix regs_return_value for kernel context 2016-10-12 14:34:45 +02:00
r4k-timer.h
r4kcache.h MIPS: c-r4k: Add r4k_blast_scache_node for Loongson-3 2018-11-20 21:04:17 -08:00
reboot.h
reg.h
regdef.h
rtlx.h
seccomp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
serial.h MIPS: Add custom serial.h with BASE_BAUD override for generic kernel 2017-11-28 16:53:24 +01:00
setup.h mips: unify prom_putchar() declarations 2018-07-17 09:40:17 -07:00
sgialib.h mips: unify prom_putchar() declarations 2018-07-17 09:40:17 -07:00
sgiarcs.h MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
shmparam.h
sigcontext.h
signal.h Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2016-08-06 09:13:11 -04:00
sim.h MIPS: Remove nabi_no_regargs 2018-08-01 13:20:15 -07:00
smp-cps.h Update MIPS email addresses 2017-11-03 09:02:30 -07:00
smp-ops.h MIPS: kexec: Make a framework for both jumping and halting on nonboot CPUs 2018-09-22 10:31:50 -07:00
smp.h MIPS: kexec: Make a framework for both jumping and halting on nonboot CPUs 2018-09-22 10:31:50 -07:00
sni.h
socket.h
sparsemem.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spinlock.h locking/arch: Remove dummy arch_{read,spin,write}_lock_flags() implementations 2017-10-10 11:50:19 +02:00
spinlock_types.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spram.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
stackframe.h MIPS: Avoid using .set mips0 to restore ISA 2018-11-09 10:23:19 -08:00
stackprotector.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
stacktrace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
string.h
switch_to.h MIPS: Avoid FCSR sanitization when CONFIG_MIPS_FP_SUPPORT=n 2018-11-09 10:23:18 -08:00
syscall.h mips: fix mips_get_syscall_arg o32 check 2018-11-21 11:21:52 -08:00
termios.h Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
thread_info.h Construct init thread stack in the linker script rather than by union 2018-01-09 23:21:02 +00:00
time.h MIPS: Convert update_persistent_clock() to update_persistent_clock64() 2018-05-14 23:58:23 +01:00
timex.h
tlb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tlbdebug.h MIPS: Refactor dumping of TLB registers for r3k/r4k 2015-09-03 12:07:45 +02:00
tlbex.h MIPS: Consistently declare TLB functions 2018-08-10 17:27:53 -07:00
tlbflush.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tlbmisc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
topology.h MIPS: Abstract CPU core & VP(E) ID access through accessor functions 2017-08-30 00:57:26 +02:00
traps.h
txx9irq.h MIPS/IRQCHIP: Move irq_chip from arch/mips to drivers/irqchip. 2015-06-21 21:52:50 +02:00
txx9pio.h
txx9tmr.h
types.h
uaccess.h Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
uasm.h mips: bpf: implement jitting of BPF_ALU | BPF_ARSH | BPF_X 2018-12-07 13:30:48 -08:00
unistd.h mips: generate uapi header and system call table files 2018-12-14 11:19:02 -08:00
uprobes.h uprobes: remove function declarations from arch/{mips,s390} 2016-10-07 18:46:30 -07:00
vdso.h locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns to READ_ONCE()/WRITE_ONCE() 2017-10-25 11:01:08 +02:00
vga.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vpe.h MIPS: MT: Remove "weak" from vpe_run() declaration 2015-08-26 15:23:40 +02:00
war.h
watch.h MIPS: Fix watchpoint restoration 2016-05-09 12:00:02 +02:00
wbflush.h
yamon-dt.h Update MIPS email addresses 2017-11-03 09:02:30 -07:00