Re: [PATCH 2/2] firmware: Move Trusted Foundations support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



10.04.2019 18:31, Thierry Reding пишет:
> On Wed, Apr 10, 2019 at 01:36:35PM +0300, Dmitry Osipenko wrote:
>> 10.04.2019 11:57, Thierry Reding пишет:
>>> From: Thierry Reding <treding@xxxxxxxxxx>
>>>
>>> Move the Trusted Foundations support out of arch/arm/firmware and into
>>> drivers/firmware where most other firmware support implementations are
>>> located.
>>>
>>> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
>>> ---
>>>  arch/arm/Kconfig                              |  2 --
>>>  arch/arm/Makefile                             |  1 -
>>>  arch/arm/firmware/Kconfig                     | 29 -------------------
>>>  arch/arm/firmware/Makefile                    |  4 ---
>>>  arch/arm/mach-tegra/Kconfig                   |  2 +-
>>>  arch/arm/mach-tegra/cpuidle-tegra114.c        |  3 +-
>>>  arch/arm/mach-tegra/pm.c                      |  3 +-
>>>  arch/arm/mach-tegra/reset.c                   |  3 +-
>>>  arch/arm/mach-tegra/tegra.c                   |  3 +-
>>>  drivers/firmware/Kconfig                      | 15 ++++++++++
>>>  drivers/firmware/Makefile                     |  1 +
>>>  .../firmware/trusted_foundations.c            |  4 ++-
>>>  .../linux/firmware}/trusted_foundations.h     |  4 +--
>>>  13 files changed, 30 insertions(+), 44 deletions(-)
>>>  delete mode 100644 arch/arm/firmware/Kconfig
>>>  delete mode 100644 arch/arm/firmware/Makefile
>>>  rename {arch/arm => drivers}/firmware/trusted_foundations.c (98%)
>>>  rename {arch/arm/include/asm => include/linux/firmware}/trusted_foundations.h (97%)
>>>
>>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>>> index 054ead960f98..f006b3c69247 100644
>>> --- a/arch/arm/Kconfig
>>> +++ b/arch/arm/Kconfig
>>> @@ -899,8 +899,6 @@ config PLAT_PXA
>>>  config PLAT_VERSATILE
>>>  	bool
>>>  
>>> -source "arch/arm/firmware/Kconfig"
>>> -
>>>  source "arch/arm/mm/Kconfig"
>>>  
>>>  config IWMMXT
>>> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
>>> index 807a7d06c2a0..05ecc004de86 100644
>>> --- a/arch/arm/Makefile
>>> +++ b/arch/arm/Makefile
>>> @@ -290,7 +290,6 @@ core-y				+= arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
>>>  core-y				+= arch/arm/probes/
>>>  core-y				+= arch/arm/net/
>>>  core-y				+= arch/arm/crypto/
>>> -core-y				+= arch/arm/firmware/
>>>  core-y				+= $(machdirs) $(platdirs)
>>>  
>>>  drivers-$(CONFIG_OPROFILE)      += arch/arm/oprofile/
>>> diff --git a/arch/arm/firmware/Kconfig b/arch/arm/firmware/Kconfig
>>> deleted file mode 100644
>>> index ad396af68e47..000000000000
>>> --- a/arch/arm/firmware/Kconfig
>>> +++ /dev/null
>>> @@ -1,29 +0,0 @@
>>> -config ARCH_SUPPORTS_FIRMWARE
>>> -	bool
>>> -
>>> -config ARCH_SUPPORTS_TRUSTED_FOUNDATIONS
>>> -	bool
>>> -	select ARCH_SUPPORTS_FIRMWARE
>>> -
>>> -menu "Firmware options"
>>> -	depends on ARCH_SUPPORTS_FIRMWARE
>>> -
>>> -config TRUSTED_FOUNDATIONS
>>> -	bool "Trusted Foundations secure monitor support"
>>> -	depends on ARCH_SUPPORTS_TRUSTED_FOUNDATIONS
>>> -	default y
>>> -	help
>>> -	  Some devices (including most Tegra-based consumer devices on the
>>> -	  market) are booted with the Trusted Foundations secure monitor
>>> -	  active, requiring some core operations to be performed by the secure
>>> -	  monitor instead of the kernel.
>>> -
>>> -	  This option allows the kernel to invoke the secure monitor whenever
>>> -	  required on devices using Trusted Foundations. See
>>> -	  arch/arm/include/asm/trusted_foundations.h or the
>>> -	  tlm,trusted-foundations device tree binding documentation for details
>>> -	  on how to use it.
>>> -
>>> -	  Say n if you don't know what this is about.
>>> -
>>> -endmenu
>>> diff --git a/arch/arm/firmware/Makefile b/arch/arm/firmware/Makefile
>>> deleted file mode 100644
>>> index 6e41336b0bc4..000000000000
>>> --- a/arch/arm/firmware/Makefile
>>> +++ /dev/null
>>> @@ -1,4 +0,0 @@
>>> -obj-$(CONFIG_TRUSTED_FOUNDATIONS)	+= trusted_foundations.o
>>> -
>>> -# tf_generic_smc() fails to build with -fsanitize-coverage=trace-pc
>>> -KCOV_INSTRUMENT                := n
>>> diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
>>> index 7b3fd0995a16..cbad7823f602 100644
>>> --- a/arch/arm/mach-tegra/Kconfig
>>> +++ b/arch/arm/mach-tegra/Kconfig
>>> @@ -3,7 +3,6 @@ menuconfig ARCH_TEGRA
>>>  	bool "NVIDIA Tegra"
>>>  	depends on ARCH_MULTI_V7
>>>  	select ARCH_HAS_RESET_CONTROLLER
>>> -	select ARCH_SUPPORTS_TRUSTED_FOUNDATIONS
>>>  	select ARM_AMBA
>>>  	select ARM_GIC
>>>  	select CLKSRC_MMIO
>>> @@ -14,6 +13,7 @@ menuconfig ARCH_TEGRA
>>>  	select PM_OPP
>>>  	select RESET_CONTROLLER
>>>  	select SOC_BUS
>>> +	select TRUSTED_FOUNDATIONS
>>
>> Do we really want to force-enable the driver? I think it's better to
>> have a choice and then instead enable the driver in the
>> tegra_defconfig.
> 
> The driver is getting enabled by default prior to this patch, and given
> that it's fairly small, I thought it'd be okay to include it by default.
> But I guess there's no harm in enabling it in tegra_defconfig and
> multi_v7_defconfig, that way people do have the possibility to disable
> it if they really don't want it.
> 
>>>  	select ZONE_DMA if ARM_LPAE
>>>  	help
>>>  	  This enables support for NVIDIA Tegra based systems.
>>
>>
>> [snip]
>>
>>> --- a/drivers/firmware/Kconfig
>>> +++ b/drivers/firmware/Kconfig
>>> @@ -267,6 +267,21 @@ config TI_SCI_PROTOCOL
>>>  	  This protocol library is used by client drivers to use the features
>>>  	  provided by the system controller.
>>>  
>>> +config TRUSTED_FOUNDATIONS
>>> +	bool "Trusted Foundations secure monitor support"
>>
>> Th driver shall depend at least on ARM because of the assembly. And
>> maybe even on ARCH_TEGRA.
> 
> Indeed, I've added a "depends on ARM" in v2.
> 
>> Do you know if there are any platforms other than Tegra that use that
>> firmware? Won't it make sense to move the driver to tegra/ ?
> 
> I don't think there's any reason to make this Tegra specific, even if
> this was only ever deployed on Tegra.

I found that you already applied the v2, although it wasn't sent to the ML. Just want let you know that everything looks and works fine, thanks.

Tested-by: Dmitry Osipenko <digetx@xxxxxxxxx>
Reviewed-by: Dmitry Osipenko <digetx@xxxxxxxxx>



[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux