OSDN Git Service

firmware: smccc: Add HAVE_ARM_SMCCC_DISCOVERY to identify SMCCC v1.1 and above
authorSudeep Holla <sudeep.holla@arm.com>
Mon, 18 May 2020 09:12:16 +0000 (10:12 +0100)
committerWill Deacon <will@kernel.org>
Wed, 20 May 2020 18:10:37 +0000 (19:10 +0100)
SMCCC v1.0 lacked discoverability of version and features. To accelerate
adoption of few mitigations and protect systems more rapidly from various
vulnerability, PSCI v1.0 was updated to add SMCCC discovery mechanism
though the PSCI firmware implementation of PSCI_FEATURES(SMCCC_VERSION)
which returns success on firmware compliant to SMCCC v1.1 and above.

This inturn makes SMCCC v1.1 and above dependent on ARM_PSCI_FW for
backward compatibility. Let us introduce a new hidden config for the
same to build more features on top of SMCCC v1.1 and above.

While at it, also sort alphabetically the psci entry.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Tested-by: Etienne Carriere <etienne.carriere@st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@st.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20200518091222.27467-2-sudeep.holla@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/firmware/Kconfig
drivers/firmware/smccc/Kconfig [new file with mode: 0644]

index 8007d4a..4843e94 100644 (file)
@@ -295,15 +295,13 @@ config TURRIS_MOX_RWTM
          other manufacturing data and also utilize the Entropy Bit Generator
          for hardware random number generation.
 
-config HAVE_ARM_SMCCC
-       bool
-
-source "drivers/firmware/psci/Kconfig"
 source "drivers/firmware/broadcom/Kconfig"
 source "drivers/firmware/google/Kconfig"
 source "drivers/firmware/efi/Kconfig"
 source "drivers/firmware/imx/Kconfig"
 source "drivers/firmware/meson/Kconfig"
+source "drivers/firmware/psci/Kconfig"
+source "drivers/firmware/smccc/Kconfig"
 source "drivers/firmware/tegra/Kconfig"
 source "drivers/firmware/xilinx/Kconfig"
 
diff --git a/drivers/firmware/smccc/Kconfig b/drivers/firmware/smccc/Kconfig
new file mode 100644 (file)
index 0000000..27b675d
--- /dev/null
@@ -0,0 +1,16 @@
+# SPDX-License-Identifier: GPL-2.0-only
+config HAVE_ARM_SMCCC
+       bool
+       help
+         Include support for the Secure Monitor Call (SMC) and Hypervisor
+         Call (HVC) instructions on Armv7 and above architectures.
+
+config HAVE_ARM_SMCCC_DISCOVERY
+       bool
+       depends on ARM_PSCI_FW
+       default y
+       help
+        SMCCC v1.0 lacked discoverability and hence PSCI v1.0 was updated
+        to add SMCCC discovery mechanism though the PSCI firmware
+        implementation of PSCI_FEATURES(SMCCC_VERSION) which returns
+        success on firmware compliant to SMCCC v1.1 and above.