Re: [PATCH v3 1/7] firmware: smccc: Add HAVE_ARM_SMCCC_DISCOVERY to identify SMCCC v1.1 and above

From: Mark Rutland
Date: Fri May 15 2020 - 07:37:37 EST


On Wed, May 06, 2020 at 05:44:05PM +0100, Sudeep Holla wrote:
> 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@xxxxxxx>

Acked-by: Mark Rutland <mark.rutland@xxxxxxx>

Thanks,
Mark.

> ---
> drivers/firmware/Kconfig | 6 ++----
> drivers/firmware/smccc/Kconfig | 17 +++++++++++++++++
> 2 files changed, 19 insertions(+), 4 deletions(-)
> create mode 100644 drivers/firmware/smccc/Kconfig
>
> diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
> index 8007d4aa76dc..4843e94713a4 100644
> --- a/drivers/firmware/Kconfig
> +++ b/drivers/firmware/Kconfig
> @@ -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
> index 000000000000..d93f1ab52cb2
> --- /dev/null
> +++ b/drivers/firmware/smccc/Kconfig
> @@ -0,0 +1,17 @@
> +# 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.
> +
> --
> 2.17.1
>