summaryrefslogtreecommitdiffstats
path: root/arch/arc/Kconfig
diff options
context:
space:
mode:
authorEugeniy Paltsev2019-01-30 17:32:41 +0100
committerVineet Gupta2019-02-25 21:10:58 +0100
commit76551468833cd5c356b1d9ff4bc9393fcf768a59 (patch)
tree8e2552cc13389bc3c90c916b0342bfac7f3a90b1 /arch/arc/Kconfig
parentARCv2: lib: introduce memcpy optimized for unaligned access (diff)
downloadkernel-qcow2-linux-76551468833cd5c356b1d9ff4bc9393fcf768a59.tar.gz
kernel-qcow2-linux-76551468833cd5c356b1d9ff4bc9393fcf768a59.tar.xz
kernel-qcow2-linux-76551468833cd5c356b1d9ff4bc9393fcf768a59.zip
ARCv2: Add explcit unaligned access support (and ability to disable too)
As of today we enable unaligned access unconditionally on ARCv2. Do this under a Kconfig option to allow disable it for test, benchmarking etc. Also while at it - Select HAVE_EFFICIENT_UNALIGNED_ACCESS - Although gcc defaults to unaligned access (since GNU 2018.03), add the right toggles for enabling or disabling as appropriate - update bootlog to prints both HW feature status (exists, enabled/disabled) and SW status (used / not used). - wire up the relaxed memcpy for unaligned access Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com> [vgupta: squashed patches, handle gcc -mno-unaligned-access quick]
Diffstat (limited to 'arch/arc/Kconfig')
-rw-r--r--arch/arc/Kconfig9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index d750b302d5ab..95fb11a85566 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -386,6 +386,15 @@ config ARC_HAS_SWAPE
if ISA_ARCV2
+config ARC_USE_UNALIGNED_MEM_ACCESS
+ bool "Enable unaligned access in HW"
+ default y
+ select HAVE_EFFICIENT_UNALIGNED_ACCESS
+ help
+ The ARC HS architecture supports unaligned memory access
+ which is disabled by default. Enable unaligned access in
+ hardware and use software to use it
+
config ARC_HAS_LL64
bool "Insn: 64bit LDD/STD"
help