ARC: Unaligned access emulation
authorVineet Gupta <vgupta@synopsys.com>
Wed, 23 Jan 2013 11:00:36 +0000 (16:30 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Fri, 15 Feb 2013 17:46:06 +0000 (23:16 +0530)
commit2e651ea1596b0ee25af4fcdc4cd13cbb33ffc254
tree51210f1cd80327a00e2fd4b0d20849b6329925d6
parentbf14e3b979a01cd7298d631736f965fe83c6e2bc
ARC: Unaligned access emulation

ARC700 doesn't natively support unaligned access, but can be emulated
-Unaligned Access Exception
-Disassembly at the Fault address to find the exact insn (long/short)

Also per Arnd's comment, we runtime control it using 2 sysctl knobs:
* SYSCTL_ARCH_UNALIGN_ALLOW: Runtime enable/disble
* SYSCTL_ARCH_UNALIGN_NO_WARN: Warn on each emulation attempt

Originally contributed by Tim Yao <tim.yao@amlogic.com>

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Cc: Tim Yao <tim.yao@amlogic.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
arch/arc/Kconfig
arch/arc/include/asm/Kbuild
arch/arc/include/asm/ptrace.h
arch/arc/include/asm/unaligned.h [new file with mode: 0644]
arch/arc/kernel/Makefile
arch/arc/kernel/disasm.c
arch/arc/kernel/entry.S
arch/arc/kernel/traps.c
arch/arc/kernel/unaligned.c [new file with mode: 0644]