summaryrefslogtreecommitdiffstats
path: root/arch/arc/Kconfig
diff options
context:
space:
mode:
authorVineet Gupta2013-01-23 12:00:36 +0100
committerVineet Gupta2013-02-15 18:46:06 +0100
commit2e651ea1596b0ee25af4fcdc4cd13cbb33ffc254 (patch)
tree51210f1cd80327a00e2fd4b0d20849b6329925d6 /arch/arc/Kconfig
parentsysctl: Enable PARISC "unaligned-trap" to be used cross-arch (diff)
downloadkernel-qcow2-linux-2e651ea1596b0ee25af4fcdc4cd13cbb33ffc254.tar.gz
kernel-qcow2-linux-2e651ea1596b0ee25af4fcdc4cd13cbb33ffc254.tar.xz
kernel-qcow2-linux-2e651ea1596b0ee25af4fcdc4cd13cbb33ffc254.zip
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/Kconfig')
-rw-r--r--arch/arc/Kconfig11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index cde8d3fcec94..f8042835e746 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -336,6 +336,17 @@ config ARC_CURR_IN_REG
This reserved Register R25 to point to Current Task in
kernel mode. This saves memory access for each such access
+
+config ARC_MISALIGN_ACCESS
+ bool "Emulate unaligned memory access (userspace only)"
+ default N
+ select SYSCTL_ARCH_UNALIGN_NO_WARN
+ select SYSCTL_ARCH_UNALIGN_ALLOW
+ help
+ This enables misaligned 16 & 32 bit memory access from user space.
+ Use ONLY-IF-ABS-NECESSARY as it will be very slow and also can hide
+ potential bugs in code
+
config ARC_STACK_NONEXEC
bool "Make stack non-executable"
default n