From b07c008e415373232254f3e76754a947873c7a36 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Mon, 24 May 2021 12:50:42 +0100 Subject: [PATCH] arm/fvp: add recipes for Ecosystem FVPs Add recipes for the SGI-575 and N1-Edge reference designs from the Ecosystem FVP collection: https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps These FVPs are free to download and use. Change-Id: Ia645e4a7264f73ec42ee61ab2907a9bfdbe7c25d Signed-off-by: Ross Burton --- meta-arm/recipes-devtools/fvp/fvp-common.inc | 36 +++++++++++++++++++ .../recipes-devtools/fvp/fvp-ecosystem.inc | 25 +++++++++++++ meta-arm/recipes-devtools/fvp/fvp-n1-edge.bb | 7 ++++ meta-arm/recipes-devtools/fvp/fvp-sgi575.bb | 7 ++++ 4 files changed, 75 insertions(+) create mode 100644 meta-arm/recipes-devtools/fvp/fvp-common.inc create mode 100644 meta-arm/recipes-devtools/fvp/fvp-ecosystem.inc create mode 100644 meta-arm/recipes-devtools/fvp/fvp-n1-edge.bb create mode 100644 meta-arm/recipes-devtools/fvp/fvp-sgi575.bb diff --git a/meta-arm/recipes-devtools/fvp/fvp-common.inc b/meta-arm/recipes-devtools/fvp/fvp-common.inc new file mode 100644 index 00000000..ec822511 --- /dev/null +++ b/meta-arm/recipes-devtools/fvp/fvp-common.inc @@ -0,0 +1,36 @@ +HOMEPAGE = "https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms" + +# FVP has an End User License Agreement. Add Arm-FVP-EULA to your +# LICENSE_FLAGS_WHITELIST if you agree to these terms. +LICENSE_FLAGS = "Arm-FVP-EULA" + +LICENSE = "Proprietary & Apache-2.0 & Python-2.0 & GPL-3.0-with-GCC-exception & Zlib & NCSA & LGPLv2+ & MIT & BSD-3-Clause" + +COMPATIBLE_HOST = '(x86_64|i.86).*-linux' +FVP_ARCH = "Linux64_GCC-6.4" + +# The directory the FVP is installed into +FVPDIR = "${libdir}/fvp/${BPN}" + +# Used in do_install to create symlinks in $bindir to $FVPDIR +fvp_link_binaries() { + for FVP in ${D}${FVPDIR}/models/${FVP_ARCH}/FVP_*; do + lnr $FVP ${D}${bindir}/$(basename $FVP) + done + # But not the .so files too + rm -f ${D}${bindir}/*.so +} + +FILES_${PN} = "${bindir} ${FVPDIR}" + +# Prebuilt binaries are already stripped +INSANE_SKIP_${PN} += "already-stripped" +# FVP can optionally have a GUI, but we can use the host libraries in native/nativesdk +INSANE_SKIP_${PN} += "file-rdeps" + +# FVP brings its own standard library so don't let it be used as a shlib provider +PRIVATE_LIBS = "libgcc_s.so.1 libstdc++.so.6" + +INHIBIT_DEFAULT_DEPS = "1" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-arm/recipes-devtools/fvp/fvp-ecosystem.inc b/meta-arm/recipes-devtools/fvp/fvp-ecosystem.inc new file mode 100644 index 00000000..a5463155 --- /dev/null +++ b/meta-arm/recipes-devtools/fvp/fvp-ecosystem.inc @@ -0,0 +1,25 @@ +require fvp-common.inc + +# These need to be set +MODEL ?= "unset" +MODEL_CODE ?= "unset" +PV ?= "unset" + +SUMMARY = "Arm Fixed Virtual Platform - ${MODEL} Ecosystem Reference Design" +HOMEPAGE = "https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps" + +SRC_URI = "https://developer.arm.com/-/media/Arm%20Developer%20Community/Downloads/OSS/FVP/${MODEL}/${MODEL_CODE}_${PV}.tgz;subdir=${BP}" + +LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=1a33828e132ba71861c11688dbb0bd16 \ + file://license_terms/third_party_licenses.txt;md5=47473b1e04b70938cf0a7ffea8ea4cc3" + +do_install() { + mkdir --parents ${D}${FVPDIR} ${D}${bindir} + + ${S}/${MODEL_CODE}.sh \ + --i-agree-to-the-contained-eula \ + --no-interactive \ + --destination ${D}${FVPDIR} + + fvp_link_binaries +} diff --git a/meta-arm/recipes-devtools/fvp/fvp-n1-edge.bb b/meta-arm/recipes-devtools/fvp/fvp-n1-edge.bb new file mode 100644 index 00000000..edda411c --- /dev/null +++ b/meta-arm/recipes-devtools/fvp/fvp-n1-edge.bb @@ -0,0 +1,7 @@ +require fvp-ecosystem.inc + +MODEL = "Neoverse-N1" +MODEL_CODE = "FVP_RD_N1_edge" +PV = "11.12_43" + +SRC_URI[sha256sum] = "e428cc44db251202bf45ae68d40832d01efbc5d0f1323f1ce46237213dd4f0fa" diff --git a/meta-arm/recipes-devtools/fvp/fvp-sgi575.bb b/meta-arm/recipes-devtools/fvp/fvp-sgi575.bb new file mode 100644 index 00000000..2ad1d3af --- /dev/null +++ b/meta-arm/recipes-devtools/fvp/fvp-sgi575.bb @@ -0,0 +1,7 @@ +require fvp-ecosystem.inc + +MODEL = "SGI-575" +MODEL_CODE = "FVP_CSS_SGI-575" +PV = "11.12_59" + +SRC_URI[sha256sum] = "86c7a16d83b0801278b4a3d05c8d42c4955ed22a0dbea3c583798fb971bc425c"