summary refs log tree commit diff
diff options
context:
space:
mode:
authorDave Martin <Dave.Martin@arm.com>2017-11-06 18:07:11 +0000
committerWill Deacon <will.deacon@arm.com>2017-11-13 16:05:55 +0000
commit6cfa7cc46b1a7a15d81d5389c99cfca633c12b8e (patch)
tree83c37bf653c8f60421519cc93404398d340fa1cc
parent9bfe7553fadb269e45a6e10f68b727957dff5676 (diff)
downloadlinux-6cfa7cc46b1a7a15d81d5389c99cfca633c12b8e.tar.gz
arm64: Make ARMV8_DEPRECATED depend on SYSCTL
If CONFIG_SYSCTL=n and CONFIG_ARMV8_DEPRECATED=y, the deprecated
instruction emulation code currently leaks some memory at boot
time, and won't have any runtime control interface.  This does
not feel like useful or intended behaviour...

This patch adds a dependency on CONFIG_SYSCTL, so that such a
kernel can't be built in the first place.

It's probably not worth adding the error-handling / cleanup code
that would be needed to deal with this otherwise: people who
desperately need the emulation can still enable SYSCTL.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
-rw-r--r--arch/arm64/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 1046074e0c24..df296b79ea15 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -807,6 +807,7 @@ config FORCE_MAX_ZONEORDER
 menuconfig ARMV8_DEPRECATED
 	bool "Emulate deprecated/obsolete ARMv8 instructions"
 	depends on COMPAT
+	depends on SYSCTL
 	help
 	  Legacy software support may require certain instructions
 	  that have been deprecated or obsoleted in the architecture.