From: "Denys Dmytriyenko" <denis@denix.org>
To: Joshua Watt <JPEWhacker@gmail.com>
Cc: Jon Mason <jon.mason@arm.com>,
meta-arm@lists.yoctoproject.org, nd@arm.com
Subject: Re: [meta-arm] [PATCH] Add recipes for TF-A versions 2.2 and 2.3
Date: Mon, 11 May 2020 20:40:24 -0400 [thread overview]
Message-ID: <20200512004024.GP11927@denix.org> (raw)
In-Reply-To: <CAJdd5GZ73V_zdUmkoPW=R8j6tFcXN9XgMfPt4L3tGXcB8RjkyQ@mail.gmail.com>
On Mon, May 11, 2020 at 07:37:10PM -0500, Joshua Watt wrote:
> On Mon, May 11, 2020, 7:21 PM Jon Mason <jon.mason@arm.com> wrote:
>
> > Add basic recipes for TF-A versions 2.2 and 2.3. Also, rearrange fields
> > in the various TF-A recipes to make them uniform and move the
> > do_compile_prepend to the inc file.
> >
> > Change-Id: I85e4ac7bdc44ed85449e40fd2c94d73bf3e7d9e8
> > Signed-off-by: Jon Mason <jon.mason@arm.com>
> > ---
> > meta-arm-bsp/conf/machine/juno.conf | 1 +
> > .../trusted-firmware-a/trusted-firmware-a.inc | 13 ++++++-
> > .../trusted-firmware-a_2.1.bb | 20 ++--------
> > .../trusted-firmware-a_2.2.bb | 38 +++++++++++++++++++
> > .../trusted-firmware-a_2.3.bb | 38 +++++++++++++++++++
> > .../trusted-firmware-a_git.bb | 29 ++++++--------
> > 6 files changed, 103 insertions(+), 36 deletions(-)
> > create mode 100644 meta-arm/recipes-bsp/trusted-firmware-a/
> > trusted-firmware-a_2.2.bb
> > create mode 100644 meta-arm/recipes-bsp/trusted-firmware-a/
> > trusted-firmware-a_2.3.bb
> >
> > diff --git a/meta-arm-bsp/conf/machine/juno.conf
> > b/meta-arm-bsp/conf/machine/juno.conf
> > index 878b6b1..898a863 100644
> > --- a/meta-arm-bsp/conf/machine/juno.conf
> > +++ b/meta-arm-bsp/conf/machine/juno.conf
> > @@ -20,6 +20,7 @@ SERIAL_CONSOLES = "115200;ttyAMA0"
> > # Use kernel provided by linaro (Contains support for SCMi or HDMI)
> > PREFERRED_PROVIDER_virtual/kernel ?= "linux-linaro-arm"
> > PREFERRED_VERSION_linux-linaro-arm ?= "4.19%"
> > +PREFERRED_VERSION_trusted-firmware-a ?= "2.1%"
> >
> > EXTRA_IMAGEDEPENDS += "virtual/trusted-firmware-a u-boot
> > firmware-image-juno"
> >
> > diff --git
> > a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
> > b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
> > index 93ca199..50a97a7 100644
> > --- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
> > +++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
> > @@ -81,8 +81,19 @@ DEPENDS += " ${@bb.utils.contains('TFA_UBOOT', '1',
> > 'u-boot', '', d)}"
> > do_compile[depends] += " ${@bb.utils.contains('TFA_UBOOT', '1',
> > 'u-boot:do_deploy', '', d)}"
> > EXTRA_OEMAKE += "${@bb.utils.contains('TFA_UBOOT', '1', '
> > BL33=${DEPLOY_DIR_IMAGE}/u-boot.bin', '',d)}"
> >
> > -
> > +# The following hack is needed to fit properly in yocto build environment
> > +# TFA is forcing the host compiler and its flags in the Makefile using :=
> > +# assignment for GCC and CFLAGS.
> > +# To properly use the native toolchain of yocto and the right libraries
> > we need
> > +# to pass the proper flags to gcc. This is achieved here by creating a gcc
> > +# script to force passing to gcc the right CFLAGS and LDFLAGS
> > do_compile() {
> > + # Create an host gcc build parser to ensure the proper include path
> > is used
> > + mkdir -p bin
> > + echo "#!/usr/bin/env bash" > bin/gcc
> > + echo "$(which ${BUILD_CC}) ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \$@" >>
> > bin/gcc
> > + chmod a+x bin/gcc
> > + export PATH="$PWD/bin:$PATH"
> >
>
> I didn't include this in my version because I couldn't figure out why it
> was necessary. Can it be removed?
Yeah, I'm not sure either - I've been building 2.0, 2.1 and 2.2 w/o this just
fine...
> oe_runmake ${TFA_BUILD_TARGET}
> > }
> >
> > diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/
> > trusted-firmware-a_2.1.bb b/meta-arm/recipes-bsp/trusted-firmware-a/
> > trusted-firmware-a_2.1.bb
> > index e8933fb..4d41202 100644
> > --- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.1.bb
> > +++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.1.bb
> > @@ -1,6 +1,9 @@
> > #
> > # Trusted firmware-A 2.1
> > #
> > +
> > +require trusted-firmware-a.inc
> > +
> > SRC_URI = "git://
> > git.trustedfirmware.org/TF-A/trusted-firmware-a.git;protocol=https;name=tfa
> > "
> >
> > # Use TF-A for version
> > @@ -33,20 +36,3 @@ LIC_FILES_CHKSUM_MBEDTLS += " \
> >
> > SRC_URI[mbedtls.md5sum] = "37cdec398ae9ebdd4640df74af893c95"
> > SRC_URI[mbedtls.sha256sum] =
> > "a6834fcd7b7e64b83dfaaa6ee695198cb5019a929b2806cb0162e049f98206a4"
> > -
> > -require trusted-firmware-a.inc
> > -
> > -# The following hack is needed to fit properly in yocto build environment
> > -# TFA is forcing the host compiler and its flags in the Makefile using :=
> > -# assignment for GCC and CFLAGS.
> > -# To properly use the native toolchain of yocto and the right libraries
> > we need
> > -# to pass the proper flags to gcc. This is achieved here by creating a gcc
> > -# script to force passing to gcc the right CFLAGS and LDFLAGS
> > -do_compile_prepend() {
> > - #Create an host gcc build parser to ensure the proper include path is
> > used
> > - mkdir -p bin
> > - echo "#!/usr/bin/env bash" > bin/gcc
> > - echo "$(which ${BUILD_CC}) ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \$@" >>
> > bin/gcc
> > - chmod a+x bin/gcc
> > - export PATH="$PWD/bin:$PATH"
> > -}
> > diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/
> > trusted-firmware-a_2.2.bb b/meta-arm/recipes-bsp/trusted-firmware-a/
> > trusted-firmware-a_2.2.bb
> > new file mode 100644
> > index 0000000..4d5316e
> > --- /dev/null
> > +++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.2.bb
> > @@ -0,0 +1,38 @@
> > +#
> > +# Trusted firmware-A 2.2
> > +#
> > +
> > +require trusted-firmware-a.inc
> > +
> > +SRC_URI = "git://
> > git.trustedfirmware.org/TF-A/trusted-firmware-a.git;protocol=https;name=tfa
> > "
> > +
> > +# Use TF-A for version
> > +SRCREV_FORMAT = "tfa"
> > +
> > +# TF-A v2.2
> > +SRCREV_tfa = "7192b956bde11652a835eee0724dca0e403fee90"
> > +
> > +S = "${WORKDIR}/git"
> > +
> > +LIC_FILES_CHKSUM =
> > "file://docs/license.rst;md5=189505435dbcdcc8caa63c46fe93fa89"
> > +
> > +SRC_URI[tfa.md5sum] = "75c8f4958fb493d9bd7a8e5a9636ec18"
> > +SRC_URI[tfa.sha256sum] =
> > "7c4c00a4f28d3cfbb235fd1a1fb28c4d2fc1d657c9301686e7d8824ef575d059"
> > +
> > +#
> > +# mbed TLS source
> > +# Those are used in trusted-firmware-a.inc if TFA_MBEDTLS is set to 1
> > +#
> > +
> > +SRC_URI_MBEDTLS = "git://
> > github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=git/mbedtls
> > "
> > +
> > +# mbed TLS v2.16.2
> > +SRCREV_mbedtls = "d81c11b8ab61fd5b2da8133aa73c5fe33a0633eb"
> > +
> > +LIC_FILES_CHKSUM_MBEDTLS += " \
> > + file://mbedtls/apache-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \
> > + file://mbedtls/LICENSE;md5=302d50a6369f5f22efdb674db908167a \
> > + "
> > +
> > +SRC_URI[mbedtls.md5sum] = "37cdec398ae9ebdd4640df74af893c95"
> > +SRC_URI[mbedtls.sha256sum] =
> > "a6834fcd7b7e64b83dfaaa6ee695198cb5019a929b2806cb0162e049f98206a4"
> > diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/
> > trusted-firmware-a_2.3.bb b/meta-arm/recipes-bsp/trusted-firmware-a/
> > trusted-firmware-a_2.3.bb
> > new file mode 100644
> > index 0000000..bfda87b
> > --- /dev/null
> > +++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.3.bb
> > @@ -0,0 +1,38 @@
> > +#
> > +# Trusted firmware-A 2.3
> > +#
> > +
> > +require trusted-firmware-a.inc
> > +
> > +SRC_URI = "git://
> > git.trustedfirmware.org/TF-A/trusted-firmware-a.git;protocol=https;name=tfa
> > "
> > +
> > +# Use TF-A for version
> > +SRCREV_FORMAT = "tfa"
> > +
> > +# TF-A v2.3
> > +SRCREV_tfa = "ecd27ad85f1eba29f6bf92c39dc002c85b07dad5"
> > +
> > +S = "${WORKDIR}/git"
> > +
> > +LIC_FILES_CHKSUM =
> > "file://docs/license.rst;md5=189505435dbcdcc8caa63c46fe93fa89"
> > +
> > +SRC_URI[tfa.md5sum] = "75c8f4958fb493d9bd7a8e5a9636ec18"
> > +SRC_URI[tfa.sha256sum] =
> > "7c4c00a4f28d3cfbb235fd1a1fb28c4d2fc1d657c9301686e7d8824ef575d059"
> > +
> > +#
> > +# mbed TLS source
> > +# Those are used in trusted-firmware-a.inc if TFA_MBEDTLS is set to 1
> > +#
> > +
> > +SRC_URI_MBEDTLS = "git://
> > github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=git/mbedtls
> > "
> > +
> > +# mbed TLS v2.18.1
> > +SRCREV_mbedtls = "ca933c7e0c9e84738b168b6b0feb89af4183a60a"
> > +
> > +LIC_FILES_CHKSUM_MBEDTLS += " \
> > + file://mbedtls/apache-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \
> > + file://mbedtls/LICENSE;md5=302d50a6369f5f22efdb674db908167a \
> > + "
> > +
> > +SRC_URI[mbedtls.md5sum] = "37cdec398ae9ebdd4640df74af893c95"
> > +SRC_URI[mbedtls.sha256sum] =
> > "a6834fcd7b7e64b83dfaaa6ee695198cb5019a929b2806cb0162e049f98206a4"
> > diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/
> > trusted-firmware-a_git.bb b/meta-arm/recipes-bsp/trusted-firmware-a/
> > trusted-firmware-a_git.bb
> > index 4bf3ae5..c443ecd 100644
> > --- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_git.bb
> > +++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_git.bb
> > @@ -9,30 +9,23 @@ DEFAULT_PREFERENCE = "-1"
> > require trusted-firmware-a.inc
> >
> > SRC_URI = "git://
> > git.trustedfirmware.org/TF-A/trusted-firmware-a.git;protocol=https;name=tfa
> > "
> > +
> > +# Use TF-A for version
> > SRCREV_FORMAT = "tfa"
> > -LIC_FILES_CHKSUM ?=
> > "file://docs/license.rst;md5=189505435dbcdcc8caa63c46fe93fa89"
> >
> > +S = "${WORKDIR}/git"
> > +
> > +LIC_FILES_CHKSUM =
> > "file://docs/license.rst;md5=189505435dbcdcc8caa63c46fe93fa89"
> > +
> > +#
> > # mbed TLS source
> > # Those are used in trusted-firmware-a.inc if TFA_MBEDTLS is set to 1
> > +#
> > +
> > SRC_URI_MBEDTLS = "git://
> > github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=git/mbedtls
> > "
> > -LIC_FILES_CHKSUM_MBEDTLS ?= " \
> > +
> > +LIC_FILES_CHKSUM_MBEDTLS += " \
> > file://mbedtls/apache-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \
> > file://mbedtls/LICENSE;md5=302d50a6369f5f22efdb674db908167a \
> > "
> >
> > -S = "${WORKDIR}/git"
> > -
> > -# The following hack is needed to fit properly in yocto build environment
> > -# TFA is forcing the host compiler and its flags in the Makefile using :=
> > -# assignment for GCC and CFLAGS.
> > -# To properly use the native toolchain of yocto and the right libraries
> > we need
> > -# to pass the proper flags to gcc. This is achieved here by creating a gcc
> > -# script to force passing to gcc the right CFLAGS and LDFLAGS
> > -do_compile_prepend() {
> > - # Create an host gcc build parser to ensure the proper include path
> > is used
> > - mkdir -p bin
> > - echo "#!/usr/bin/env bash" > bin/gcc
> > - echo "$(which ${BUILD_CC}) ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \$@" >>
> > bin/gcc
> > - chmod a+x bin/gcc
> > - export PATH="$PWD/bin:$PATH"
> > -}
> > --
> > 2.17.1
> >
> >
> >
>
next prev parent reply other threads:[~2020-05-12 0:40 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-12 0:20 [PATCH] Add recipes for TF-A versions 2.2 and 2.3 Jon Mason
2020-05-12 0:31 ` [meta-arm] " Denys Dmytriyenko
2020-05-12 8:56 ` Diego Sueiro
2020-05-12 0:37 ` Joshua Watt
2020-05-12 0:40 ` Denys Dmytriyenko [this message]
2020-05-12 3:57 ` Jon Mason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200512004024.GP11927@denix.org \
--to=denis@denix.org \
--cc=JPEWhacker@gmail.com \
--cc=jon.mason@arm.com \
--cc=meta-arm@lists.yoctoproject.org \
--cc=nd@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.