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

From: Olof Johansson
Date: Wed Oct 09 2013 - 19:45:47 EST


On Tue, Oct 8, 2013 at 1:17 AM, Michal Simek <monstr@xxxxxxxxx> wrote:
> Hi,
>
> On 10/04/2013 06:37 PM, 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 | 17 +++++
>> .../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 | 77 ++++++++++++++++++++++
>> arch/arm/include/asm/trusted_foundations.h | 64 ++++++++++++++++++
>> 8 files changed, 191 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
>>
>> diff --git a/Documentation/devicetree/bindings/arm/firmware/tl,trusted-foundations.txt b/Documentation/devicetree/bindings/arm/firmware/tl,trusted-foundations.txt
>> new file mode 100644
>> index 0000000..3954bbd
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/arm/firmware/tl,trusted-foundations.txt
>> @@ -0,0 +1,17 @@
>> +Trusted Foundations
>> +
>> +Boards that use the Trusted Foundations secure monitor can signal its
>> +presence by declaring a node compatible with "tl,trusted-foundations"
>> +under the root node.
>> +
>> +Required properties:
>> +- compatible : "tl,trusted-foundations"
>> +- version-major : major version number of Trusted Foundations firmware
>> +- version-minor: minor version number of Trusted Foundations firmware
>> +
>> +Example:
>> + firmware {
>> + compatible = "tl,trusted-foundations";
>> + version-major = <2>;
>> + version-minor = <8>;
>> + };
>
> This is just another example how to add sw description to dts.
> I have briefly looked at tegra20.dtsi and there are IPs like timer, intc, etc
> which are in the DTS without any bus.
>
> Add this firmware node to the root is just +1 case to this mess
> but IMHO will be good to have specific DT part which will be used for
> this sw setting which are coming to DTS all the time.
>
> Grant, Rob: Where is the proper location for these type of description?

Usually we've been using the /firmware hierarchy for these kind of things.

Chrome OS uses /firmware/chromeos for some of the information passing
from FW to the OS.

You might want a separate node under /firmware for this, since this is
"just" the secure runtime portion of things, there might be need to
add things for/from the bootloader too.


-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/