diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-01-23 06:00:36 -0500 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-02-15 12:46:06 -0500 |
commit | 2e651ea1596b0ee25af4fcdc4cd13cbb33ffc254 (patch) | |
tree | 51210f1cd80327a00e2fd4b0d20849b6329925d6 /arch/arc/kernel/disasm.c | |
parent | bf14e3b979a01cd7298d631736f965fe83c6e2bc (diff) |
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>
Diffstat (limited to 'arch/arc/kernel/disasm.c')
-rw-r--r-- | arch/arc/kernel/disasm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arc/kernel/disasm.c b/arch/arc/kernel/disasm.c index 51bad8ff373b..2f390289a792 100644 --- a/arch/arc/kernel/disasm.c +++ b/arch/arc/kernel/disasm.c | |||
@@ -15,7 +15,7 @@ | |||
15 | #include <asm/disasm.h> | 15 | #include <asm/disasm.h> |
16 | #include <asm/uaccess.h> | 16 | #include <asm/uaccess.h> |
17 | 17 | ||
18 | #if defined(CONFIG_KGDB) || defined(CONFIG_MISALIGN_ACCESS) || \ | 18 | #if defined(CONFIG_KGDB) || defined(CONFIG_ARC_MISALIGN_ACCESS) || \ |
19 | defined(CONFIG_KPROBES) | 19 | defined(CONFIG_KPROBES) |
20 | 20 | ||
21 | /* disasm_instr: Analyses instruction at addr, stores | 21 | /* disasm_instr: Analyses instruction at addr, stores |