arm64: Make ARMV8_DEPRECATED depend on SYSCTL
authorDave Martin <Dave.Martin@arm.com>
Mon, 6 Nov 2017 18:07:11 +0000 (18:07 +0000)
committerWill Deacon <will.deacon@arm.com>
Mon, 13 Nov 2017 16:05:55 +0000 (16:05 +0000)
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>
arch/arm64/Kconfig

index 1046074..df296b7 100644 (file)
@@ -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.