01 Dec, 2018

1 commit

  • (commit 4ea7bdc6b5b33427bbd3f41c333e21c1825462a3 upstream)

    As documented in GCC naked functions should only use basic ASM
    syntax. The extended ASM or mixture of basic ASM and "C" code is
    not guaranteed. Currently this works because it was hard coded
    to follow and check GCC behavior for arguments and register
    placement.

    Furthermore with clang using parameters in Extended asm in a
    naked function is not supported:
    arch/arm/firmware/trusted_foundations.c:47:10: error: parameter
    references not allowed in naked functions
    : "r" (type), "r" (arg1), "r" (arg2)
    ^

    Use a regular function to be more portable. This aligns also with
    the other SMC call implementations e.g. in qcom_scm-32.c and
    bcm_kona_smc.c.

    Cc: Dmitry Osipenko
    Cc: Stephen Warren
    Cc: Thierry Reding
    Signed-off-by: Stefan Agner
    Signed-off-by: Thierry Reding
    Signed-off-by: Nick Desaulniers
    Signed-off-by: Greg Kroah-Hartman

    Stefan Agner
     

19 Feb, 2014

3 commits


14 Dec, 2013

1 commit

  • Trusted Foundations is a TrustZone-based secure monitor for ARM that
    can be invoked using the same SMC-based API on 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
    Reviewed-by: Tomasz Figa
    Reviewed-by: Stephen Warren
    Signed-off-by: Stephen Warren

    Alexandre Courbot