[PATCH v8 0/5] ARM: support for Trusted Foundations secure monitor

Alexandre Courbot acourbot at nvidia.com
Fri Oct 11 17:45:33 EDT 2013


Hopefully this has received enough review to be merged (although a few more
acks/review especially from DT people on patch 1 would be nice). Thanks
everyone for all the input and comments!

Trusted Foundations is an ARM secure monitor that is used by many Tegra-based
retail devices (like SHIELD and TegraNote). Adding support to it allows these
devices to boot on a purely upstream kernel.

Public documentation about Trusted Foundations is scarce, but over the various
versions of this patch it has been established that it does not follow the ARM
SMC convention and also has no connection whatsoever with PSCI. As such, it
requires an implementation of its own and the firmware interface introduced by
Tomasz provides an adequate framework for it.

Changes since v7:
- explicitly request the TF DT node to be under /firmware/ in the bindings
  documentation
- renamed arguments of tf_generic_smc() (suggestion made by Linus W. some time
  ago that I overlooked).
- fixed multi-line comment style

TODO in a future patchset:
- disable TF-dependant features (SMP, cpuidle) if TF cannot be supported instead
  or doing an early panic
- complete TF support with idle and L2 cache handling (ongoing)

Alexandre Courbot (5):
  ARM: add basic support for Trusted Foundations
  ARM: tegra: add support for Trusted Foundations
  ARM: tegra: split setting of CPU reset handler
  ARM: tegra: set CPU reset handler with firmware op
  ARM: tegra: support Trusted Foundations by default

 .../arm/firmware/tl,trusted-foundations.txt        | 20 ++++++
 Documentation/devicetree/bindings/arm/tegra.txt    |  5 ++
 .../devicetree/bindings/vendor-prefixes.txt        |  1 +
 arch/arm/Kconfig                                   |  2 +
 arch/arm/Makefile                                  |  1 +
 arch/arm/configs/tegra_defconfig                   |  1 +
 arch/arm/firmware/Kconfig                          | 28 ++++++++
 arch/arm/firmware/Makefile                         |  1 +
 arch/arm/firmware/trusted_foundations.c            | 79 ++++++++++++++++++++++
 arch/arm/include/asm/trusted_foundations.h         | 68 +++++++++++++++++++
 arch/arm/mach-tegra/Kconfig                        |  1 +
 arch/arm/mach-tegra/common.c                       |  2 +
 arch/arm/mach-tegra/reset.c                        | 40 ++++++++---
 13 files changed, 238 insertions(+), 11 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/firmware/tl,trusted-foundations.txt
 create mode 100644 arch/arm/firmware/Kconfig
 create mode 100644 arch/arm/firmware/Makefile
 create mode 100644 arch/arm/firmware/trusted_foundations.c
 create mode 100644 arch/arm/include/asm/trusted_foundations.h

-- 
1.8.4




More information about the linux-arm-kernel mailing list