linux/arch/openrisc/kernel
Jan Henrik Weinstock 4ee93d80ad openrisc: add cacheflush support to fix icache aliasing
On OpenRISC the icache does not snoop data stores.  This can cause
aliasing as reported by Jan. This patch fixes the issue to ensure icache
is properly synchronized when code is written to memory.  It supports both
SMP and UP flushing.

This supports dcache flush as well for architectures that do not support
write-through caches; most OpenRISC implementations do implement
write-through cache however. Dcache flushes are done only on a single
core as OpenRISC dcaches all support snooping of bus stores.

Signed-off-by: Jan Henrik Weinstock <jan.weinstock@ice.rwth-aachen.de>
[shorne@gmail.com: Squashed patches and wrote commit message]
Signed-off-by: Stafford Horne <shorne@gmail.com>
2017-11-03 14:01:15 +09:00
..
.gitignore openrisc: Add .gitignore 2017-02-25 04:14:36 +09:00
Makefile openrisc: initial SMP support 2017-11-03 14:01:13 +09:00
asm-offsets.c openrisc: use kbuild.h instead of defining macros in asm-offset.c 2012-10-25 15:54:33 +02:00
dma.c openrisc: initial SMP support 2017-11-03 14:01:13 +09:00
entry.S scripts/spelling.txt: add "efective" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
head.S openrisc: sleep instead of spin on secondary wait 2017-11-03 14:01:14 +09:00
irq.c openrisc: Get rid of handle_IRQ 2014-09-03 13:11:02 +00:00
module.c openrisc: Refactor 16-bit constant relocation 2013-11-05 16:27:55 +01:00
or32_ksyms.c openrisc: Switch to use export.h instead of module.h 2017-05-15 22:02:33 +09:00
process.c OpenRISC fixes for 4.13 2017-07-07 13:58:49 -07:00
prom.c openrisc: remove unnecessary prom.c includes 2013-10-09 11:39:01 -05:00
ptrace.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
setup.c openrisc: initial SMP support 2017-11-03 14:01:13 +09:00
signal.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
smp.c openrisc: add cacheflush support to fix icache aliasing 2017-11-03 14:01:15 +09:00
sys_call_table.c OpenRISC: System calls 2011-07-22 18:46:34 +02:00
time.c openrisc: initial SMP support 2017-11-03 14:01:13 +09:00
traps.c sched/headers: Prepare to move kstack_end() from <linux/sched.h> to <linux/sched/task_stack.h> 2017-03-02 08:42:39 +01:00
vmlinux.h of/fdt: consolidate built-in dtb section variables 2014-04-30 00:59:13 -05:00
vmlinux.lds.S scripts/spelling.txt: add "aligment" pattern and fix typo instances 2017-02-27 18:43:46 -08:00