android_kernel_sony_sdm845/arch/arc/kernel
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Vineet Gupta ca332b96ba ARC: [arcompact] handle unaligned access delay slot corner case
commit 9aed02feae57bf7a40cb04ea0e3017cb7a998db4 upstream.

After emulating an unaligned access in delay slot of a branch, we
pretend as the delay slot never happened - so return back to actual
branch target (or next PC if branch was not taken).

Curently we did this by handling STATUS32.DE, we also need to clear the
BTA.T bit, which is disregarded when returning from original misaligned
exception, but could cause weirdness if it took the interrupt return
path (in case interrupt was acive too)

One ARC700 customer ran into this when enabling unaligned access fixup
for kernel mode accesses as well

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-02-01 08:33:08 +01:00
..
.gitignore ARC: Add some .gitignore entries 2013-08-26 09:40:24 +05:30
arc_hostlink.c ARC: Hostlink Pseudo-Driver for Metaware Debugger 2013-02-15 23:16:10 +05:30
arcksyms.c ARC: export __udivdi3 for modules 2016-08-19 14:09:33 -07:00
asm-offsets.c ARCv2: [vdk] dts files and defconfig for HS38 VDK 2015-06-25 06:00:21 +05:30
ctx_sw.c ARC: [plat-eznps] Use dedicated identity auxiliary register. 2016-05-09 09:32:33 +05:30
ctx_sw_asm.S ARC: dw2 unwind: enable cfi pseudo ops in string lib 2016-09-30 14:48:22 -07:00
devtree.c ARC: [plat-eznps] set default baud for early console 2016-11-08 09:39:37 -08:00
disasm.c ARC: rename kconfig option for unaligned emulation 2014-10-13 14:46:15 +05:30
entry-arcv2.S ARCv2: Enable LOCKDEP 2016-04-22 18:12:31 +05:30
entry-compact.S ARC: [intc-compact] simplify code for 2 priority levels 2016-05-30 22:45:04 +05:30
entry.S ARC: entry: make ret_from_system_call local label 2016-09-30 14:48:21 -07:00
fpu.c ARC: Process-creation/scheduling/idle-loop 2013-02-11 20:00:38 +05:30
head.S ARC: boot: Non Master cpus only need to call EARLY_CPU_SETUP once 2015-10-28 16:13:42 +05:30
intc-arcv2.c ARCv2: intc: Use kflag if STATUS32.IE must be reset 2016-09-30 14:48:24 -07:00
intc-compact.c ARC: [intc-compact] simplify code for 2 priority levels 2016-05-30 22:45:04 +05:30
irq.c ARC: [intc-*] Do a domain lookup in primary handler for hwirq -> linux virq 2016-05-09 09:32:30 +05:30
kgdb.c ARC: kgdb: generic kgdb_arch_pc() suffices 2014-10-22 16:14:04 -06:00
kprobes.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-11-15 16:47:22 -08:00
Makefile ARC: RIP arc_{get|set}_core_freq() clk API 2016-05-09 09:32:31 +05:30
mcip.c ARCv2: MCIP: Use IDU_M_DISTRI_DEST mode if there is only 1 destination core 2016-11-08 12:22:52 -08:00
module.c ARC: module: Fix !CONFIG_ARC_DW2_UNWIND builds 2017-01-26 08:24:37 +01:00
pcibios.c ARC: Add PCI support 2016-03-10 14:44:13 -06:00
perf_event.c arc: perf: Enable generic "cache-references" and "cache-misses" events 2016-09-30 14:48:18 -07:00
process.c ARC: change return value of userspace cmpxchg assist syscall 2016-11-07 11:01:12 -08:00
ptrace.c ARCv2: Support for ARCv2 ISA and HS38x cores 2015-06-22 14:06:55 +05:30
reset.c arc: export symbol for pm_power_off in reset.c 2013-11-06 10:41:44 +05:30
setup.c ARC: boot log: refactor cpu name/release printing 2016-10-28 10:09:07 -07:00
signal.c arc: don't leak bits of kernel stack into coredump 2016-09-15 19:51:55 -04:00
smp.c ARC: IRQ: Do not use hwirq as virq and vice versa 2016-11-08 12:05:10 -08:00
stacktrace.c arc: unwind: warn only once if DW2_UNWIND is disabled 2016-06-28 11:11:44 +05:30
sys.c ARC: ABIv3: fork/vfork wrappers not needed in "no-legacy-syscall" ABI 2013-03-11 19:01:10 +05:30
time.c ARC: timer: rtc: implement read loop in "C" vs. inline asm 2016-11-07 11:19:44 -08:00
traps.c ARC: rename unhandled exception handler 2015-04-13 15:14:57 +05:30
troubleshoot.c ARC: mm: retire ARC_DBG_TLB_MISS_COUNT... 2016-10-28 10:10:28 -07:00
unaligned.c ARC: [arcompact] handle unaligned access delay slot corner case 2017-02-01 08:33:08 +01:00
unwind.c ARC: dw2 unwind: switch to .eh_frame based unwinding 2016-09-30 14:48:20 -07:00
vmlinux.lds.S nmi_backtrace: generate one-line reports for idle cpus 2016-10-07 18:46:30 -07:00