Re: [PATCH v8 1/5] ARM: add basic support for Trusted Foundations

From: Olof Johansson
Date: Mon Oct 28 2013 - 17:55:42 EST


On Mon, Oct 28, 2013 at 12:04:43PM +0100, Tomasz Figa wrote:
> Hi,
>
> 2013/10/15 Alex Courbot <acourbot@xxxxxxxxxx>:
> > On 10/15/2013 04:07 AM, Russell King - ARM Linux wrote:
> >>
> >> On Fri, Oct 11, 2013 at 02:45:34PM -0700, Alexandre Courbot wrote:
> >>>
> >>> Trusted Foundations is a TrustZone-based secure monitor for ARM that
> >>> can be invoked using the same SMC-based API on all supported
> >>> platforms. This patch adds initial basic support for Trusted
> >>> Foundations using the ARM firmware API. Current features are limited
> >>> to the ability to boot secondary processors.
> >>>
> >>> Note: The API followed by Trusted Foundations does *not* follow the SMC
> >>> calling conventions. It has nothing to do with PSCI neither and is only
> >>> relevant to devices that use Trusted Foundations (like most Tegra-based
> >>> retail devices).
> >>>
> >>> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
> >>> Reviewed-by: Tomasz Figa <t.figa@xxxxxxxxxxx>
> >>> Reviewed-by: Stephen Warren <swarren@xxxxxxxxxx>
> >>> ---
> >>> .../arm/firmware/tl,trusted-foundations.txt | 20 ++++++
> >>> .../devicetree/bindings/vendor-prefixes.txt | 1 +
> >>> arch/arm/Kconfig | 2 +
> >>> arch/arm/Makefile | 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
> >>> +++++++++++++++++++
> >>> 8 files changed, 200 insertions(+)
> >>> 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
> >>
> >>
> >> Is having this under arch/arm appropriate? What happens if the API
> >> gets re-used on ARM64 for example? Would drivers/firmware be a better
> >> cross-arch location for this?
> >
> >
> > The reason why this has been put into arch/arm is that the firmware_ops
> > feature this patch depends also resides there
> > (arch/arm/include/asm/firmware.h).
> >
> > On the other hand it might also make sense to move firmware_ops out of ARM
> > since I don't see anything ARM-specific with it. Tomasz, could we have your
> > thoughts on this?
>
> I don't see anything wrong in moving this out of arch/arm, feel free
> to do so.
>
> However I guess that some (or all) of the names will have to
> be put into a more separate namespace, as the term "firmware" is a bit
> too generic IMHO. Possibly something like platform_firmware could be
> better.
>
> What do you think?

I think we can probably merge this under arch/arm now, and when we figure out
what needs to be common with ARM64 we can move it out to a good location. It
might be that mostly just a header file with ABI conventions needs to be
shared, not actual implementation, for example.


-Olof
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/