1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-05-09 05:30:05 +00:00

meta-arm-bsp: Remove fvp-base and foundation-armv8 simulation tools

Since the Fixed Virtual Platforms simulation tools are not publicly
available, remove them from meta-arm-bsp layer.

Change-Id: Ifece50bfd494241499540030b6ac5968abd8ad1f
Issue-Id: SCM-951
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
Diego Sueiro
2020-04-23 08:26:42 +01:00
committed by Jon Mason
parent 987cb439ea
commit d9fbf9da4e
9 changed files with 43 additions and 615 deletions
@@ -7,7 +7,6 @@
require conf/machine/fvp-common/fvp.inc require conf/machine/fvp-common/fvp.inc
KERNEL_DEVICETREE = "arm/foundation-v8-gicv3-psci.dtb" KERNEL_DEVICETREE = "arm/foundation-v8-gicv3-psci.dtb"
EXTRA_IMAGEDEPENDS += "foundation-armv8-native"
# Use haveged as a source of entropy instead of rng-tools (Needed for ssh). # Use haveged as a source of entropy instead of rng-tools (Needed for ssh).
# rngd (Part of rng-tools) takes ~7 mins to init resulting in a slow boot time. # rngd (Part of rng-tools) takes ~7 mins to init resulting in a slow boot time.
-1
View File
@@ -7,7 +7,6 @@
require conf/machine/fvp-common/fvp.inc require conf/machine/fvp-common/fvp.inc
KERNEL_DEVICETREE = "arm/fvp-base-gicv3-psci-custom.dtb" KERNEL_DEVICETREE = "arm/fvp-base-gicv3-psci-custom.dtb"
EXTRA_IMAGEDEPENDS += "fvp-base-native"
# Use haveged as a source of entropy instead of rng-tools (Needed for ssh). # Use haveged as a source of entropy instead of rng-tools (Needed for ssh).
# rngd (Part of rng-tools) takes ~7 mins to init resulting in a slow boot time. # rngd (Part of rng-tools) takes ~7 mins to init resulting in a slow boot time.
+20 -6
View File
@@ -10,16 +10,30 @@ MACHINE ?= "foundation-v8"
```bash$ bitbake core-image-minimal``` ```bash$ bitbake core-image-minimal```
### Run: ### Run:
The layer provides a recipe to install the Armv8-A Foundation Platform in your To Run the Fixed Virtual Platform simulation tool you must download "Armv8-A
environment. You must download Armv8-A Foundation Platform from Arm developer Foundation Platform" from Arm developer (This might require the user to
(This might require the user to register) from this address: register) from this address:
https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms
and put the downloaded tar file in 'downloads/licensed/silver.arm.com/' and install it on your host PC.
directory of your project (or of your Pre-Mirror if you have one).
Fast Models Fixed Virtual Platforms (FVP) Reference Guide:
https://developer.arm.com/docs/100966/latest
Armv8A Foundation Platform User Guide:
https://developer.arm.com/docs/100961/latest/
Once done, do the following to build and run an image: Once done, do the following to build and run an image:
```bash$ bitbake core-image-minimal``` ```bash$ bitbake core-image-minimal```
```bash$ ./tmp/deploy/tools/start-foundation-armv8.sh``` ```bash$ export YOCTO_DEPLOY_IMGS_DIR="<yocto-build-dir/tmp/deploy/images/foundation-v8>"```
```bash$ cd <path-to-Foundation_Platformpkg-dir/models/Linux64_GCC-X.X/>```
```
bash$ ./Foundation_Platform --cores=4 --no-sve --gicv3 \
--data=${YOCTO_DEPLOY_IMGS_DIR}/bl1-fvp.bin@0x0 \
--data=${YOCTO_DEPLOY_IMGS_DIR}/Image@0x80080000 \
--data=${YOCTO_DEPLOY_IMGS_DIR}/foundation-v8-gicv3-psci.dtb@0x83000000 \
--block-device=${YOCTO_DEPLOY_IMGS_DIR}/core-image-minimal-foundation-armv8.disk.img \
```
If you have built a configuration without a ramdisk, you can use the following If you have built a configuration without a ramdisk, you can use the following
command in U-boot to start Linux: command in U-boot to start Linux:
+23 -6
View File
@@ -10,16 +10,33 @@ MACHINE ?= "fvp-base"
```bash$ bitbake core-image-minimal``` ```bash$ bitbake core-image-minimal```
### Run: ### Run:
The layer provides a recipe to install the Fixed Virtual Platform in your To Run the Fixed Virtual Platform simulation tool you must download "Armv8-A
environment. You must download Armv8-A Base Platform FVP from Arm developer Base Platform FVP" from Arm developer (This might require the user to
(This might require the user to register) from this address: register) from this address:
https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms
and put the downloaded tar file in 'downloads/licensed/silver.arm.com/' and install it on your host PC.
directory of your project (or of your Pre-Mirror if you have one).
Fast Models Fixed Virtual Platforms (FVP) Reference Guide:
https://developer.arm.com/docs/100966/latest
Armv8A Foundation Platform User Guide:
https://developer.arm.com/docs/100961/latest/
Once done, do the following to build and run an image: Once done, do the following to build and run an image:
```bash$ bitbake core-image-minimal``` ```bash$ bitbake core-image-minimal```
```bash$ ./tmp/deploy/tools/start-fvp-base.sh``` ```bash$ export YOCTO_DEPLOY_IMGS_DIR="<yocto-build-dir/tmp/deploy/images/fvp-base>"```
```bash$ cd <path-to-Base_RevC_AEMv8A_pkg-dir/models/Linux64_GCC-X.X/>```
```
bash$ ./FVP_Base_RevC-2xAEMv8A -C bp.virtio_net.enabled=1 \
-C cache_state_modelled=0 \
-C bp.secureflashloader.fname=${YOCTO_DEPLOY_IMGS_DIR}/bl1-fvp.bin \
-C bp.flashloader0.fname=${YOCTO_DEPLOY_IMGS_DIR}/fip-fvp.bin \
--data cluster0.cpu0=${YOCTO_DEPLOY_IMGS_DIR}/Image@0x80080000 \
--data cluster0.cpu0=${YOCTO_DEPLOY_IMGS_DIR}/fvp-base-gicv3-psci-custom.dtb@0x83000000 \
-C bp.virtioblockdevice.image_path=${YOCTO_DEPLOY_IMGS_DIR}/core-image-minimal-foundation-armv8.disk.img \
```
If you have built a configuration without a ramdisk, you can use the following If you have built a configuration without a ramdisk, you can use the following
command in U-boot to start Linux: command in U-boot to start Linux:
@@ -1,244 +0,0 @@
#!/bin/bash
# Script to start a build image using FVP Foundation Platform
#
set -u
set -e
# Get parameters from bitbake configuration
source <(MACHINE=foundation-armv8 bitbake -e foundation-armv8-native | grep \
-e "^STAGING_.*_NATIVE=" \
-e "^DEPLOY_DIR.*=")
# Bitbake image to run
IMAGE_NAME="$(cd $DEPLOY_DIR_IMAGE; ls *-foundation-armv8.manifest | \
sed -e "s/-foundation-armv8\.manifest//" | head -1)"
# BL1 and FIP files
BL1_FILE="bl1-fvp.bin"
BL1_ADDR="0x0"
FIP_FILE="fip-fvp.bin"
FIP_ADDR="0x8000000"
# Linux kernel file in deploy_dir and load address
KERNEL_FILE="Image"
KERNEL_ADDR="0x80080000"
# DTB file in deploy_dir and load address
DTB_FILE="foundation-v8-gicv3-psci.dtb"
DTB_ADDR="0x83000000"
# Xen file in deploy_dir and load address
XEN_FILE="xen-foundation-armv8"
XEN_ADDR="0x84000000"
# Disk file in deploy_dir
DISK_FILE=""
# Foundation Platform Executable (Extracted from
# FM000-KT-00035-r11p8-61rel0.tgz from silver.arm.com)
FOUNDATION_PLAT_EXE="Foundation_Platform"
# Foundation Platform arguments
# 4 cores
# Disable Scalable Vector Extension (SVE)
# gicv3 emulation (required for hardware virtualisation)
FOUNDATION_PLAT_ARGS=" \
--cores=4 \
--no-sve \
--gicv3"
# Foundation Platform user arguments
EXTRA_ARGS=""
# Help function
usage() {
cat <<EOF
Usage $0 [OPTION] [IMAGE_NAME] [FOUNDATION_PLATFORM_ARGS]
Start a generated Yocto Image using Armv8-A Foundation Platform.
This script will execute Foundation_Platform from the PATH.
IMAGE_NAME should be the name of the image to start, this is what you did
build with bitbake, default is 'core-image-minimal' if none is auto-detected.
All extra arguments are passed to Foundation Platform after the IMAGE_NAME.
OPTIONs:
-h, --help displays this help message
--deploy=[DIR] use DIR as deploy directory, default is:
$DEPLOY_DIR_IMAGE
--no-bl1 Don't load a BL1
--bl1=[NAME] File name in DEPLOY_DIR_IMAGE to be used for BL1,
default is $BL1_FILE.
This adds the following argument to the
Foundation Platform:
--data=$DEPLOY_DIR_IMAGE/NAME@$BL1_ADDR
--no-fip Don't load a FIP
--fip=[NAME] File name in DEPLOY_DIR_IMAGE to be used for FIP,
default is $FIP_FILE.
This adds the following argument to the
Foundation Platform:
--data=$DEPLOY_DIR_IMAGE/NAME@$FIP_ADDR
--linux=[NAME] File name in DEPLOY_DIR_IMAGE to be used
as Linux kernel
default is $KERNEL_FILE
--linux-addr=[ADDR] Address at which Linux kernel should be loaded
default is $KERNEL_ADDR
--dtb=[NAME] File name in DEPLOY_DIR_IMAGE to be used as DTB
default is $DTB_FILE
--dtb-addr=[ADDR] Address at which DTB should be loaded
default is $DTB_ADDR
--xen=[NAME] File name in DEPLOY_DIR_IMAGE to be used as Xen
It is only loaded if the file actually exists.
default is $XEN_FILE
--xen-addr=[ADDR] Address at which Xen should be loaded
default is $XEN_ADDR
--disk=[NAME] File name in DEPLOY_DIR_IMAGE to be used as disk.
It is only loaded if the file actually exists.
default is IMAGE_NAME-foundation-armv8.disk.img
EOF
}
# Process command line arguments
for arg in "$@"; do
case $arg in
--*=*)
optarg=$(echo $arg | sed -e "s/.*=//")
;;
*)
optarg=""
;;
esac
case $arg in
-h|-?|--help)
usage
exit 0
;;
--deploy=*)
if [ ! -f $optarg/Image ]
then
echo "Invalid argument" >&2
echo "$optarg is not a valid deploy directory" >&2
exit 1
fi
DEPLOY_DIR_IMAGE=$optarg
;;
--no-bl1)
BL1_FILE=""
;;
--bl1=*)
BL1_FILE="$optarg"
;;
--no-fip)
FIP_FILE=""
;;
--fip=*)
FIP_FILE="$optarg"
;;
--linux=*)
LINUX_FILE="$optarg"
;;
--linux-addr=*)
LINUX_ADDR="$optarg"
;;
--dtb=*)
DTB_FILE="$optarg"
;;
--dtb-addr=*)
DTB_ADDR="$optarg"
;;
--xen=*)
XEN_FILE="$optarg"
;;
--xen-addr=*)
XEN_ADDR="$optarg"
;;
--disk=*)
DISK_FILE="$optarg"
;;
*)
if [ -z "$IMAGE_NAME" ]
then
IMAGE_NAME="$arg"
else
EXTRA_ARGS="$EXTRA_ARGS $arg"
fi
;;
esac
done
if [ -z "${BUILDDIR:-}" ]; then
echo "We are not in a Yocto build project." >&2
echo "Please source oe-init-build-env first." >&2
exit 1
fi
if [ -z "${IMAGE_NAME:-}" ]; then
IMAGE_NAME="core-image-minimal"
fi
if [ -z "${DISK_FILE:-}" ]; then
DISK_FILE="${IMAGE_NAME}-foundation-armv8.disk.img"
fi
# Add bl1 arg
if [ -n "$BL1_FILE" ]; then
if [ ! -f $DEPLOY_DIR_IMAGE/$BL1_FILE ]; then
echo "Could not find bl1 ($BL1_FILE) in $DEPLOY_DIR_IMAGE" >&2
exit 1
fi
FOUNDATION_PLAT_ARGS="$FOUNDATION_PLAT_ARGS \
--data=$DEPLOY_DIR_IMAGE/$BL1_FILE@$BL1_ADDR"
fi
# Add fip arg
if [ -n "$FIP_FILE" ]; then
if [ ! -f $DEPLOY_DIR_IMAGE/$FIP_FILE ]; then
echo "Could not find fip ($FIP_FILE) in $DEPLOY_DIR_IMAGE" >&2
exit 1
fi
FOUNDATION_PLAT_ARGS="$FOUNDATION_PLAT_ARGS \
--data=$DEPLOY_DIR_IMAGE/$FIP_FILE@$FIP_ADDR"
fi
# Add Linux kernel
if [ -n "$KERNEL_FILE" ]; then
if [ ! -f $DEPLOY_DIR_IMAGE/$KERNEL_FILE ]; then
echo "Could not find Linux kernel ($KERNEL_FILE) in \
$DEPLOY_DIR_IMAGE" >&2
exit 1
fi
FOUNDATION_PLAT_ARGS="$FOUNDATION_PLAT_ARGS \
--data=$DEPLOY_DIR_IMAGE/$KERNEL_FILE@$KERNEL_ADDR"
fi
# Add xen if present
if [ -n "$XEN_FILE" -a -f $DEPLOY_DIR_IMAGE/$XEN_FILE ]; then
FOUNDATION_PLAT_ARGS="$FOUNDATION_PLAT_ARGS \
--data=$DEPLOY_DIR_IMAGE/$XEN_FILE@$XEN_ADDR"
#switch dtb if there
if [ -f $DEPLOY_DIR_IMAGE/$(basename ${DTB_FILE} .dtb)-xen.dtb ]; then
DTB_FILE=$(basename ${DTB_FILE} .dtb)-xen.dtb
fi
fi
# Add DTB
if [ -n "$DTB_FILE" ]; then
if [ ! -f $DEPLOY_DIR_IMAGE/$DTB_FILE ]; then
echo "Could not find the DTB ($DTB_FILE) in $DEPLOY_DIR_IMAGE" >&2
exit 1
fi
FOUNDATION_PLAT_ARGS="$FOUNDATION_PLAT_ARGS \
--data=$DEPLOY_DIR_IMAGE/$DTB_FILE@$DTB_ADDR"
fi
# Add disk if present
if [ -n "$DISK_FILE" -a -f $DEPLOY_DIR_IMAGE/$DISK_FILE ]; then
FOUNDATION_PLAT_ARGS="$FOUNDATION_PLAT_ARGS \
--block-device=$DEPLOY_DIR_IMAGE/$DISK_FILE"
fi
FOUNDATION_PLAT_EXE="${STAGING_BINDIR_NATIVE}/${FOUNDATION_PLAT_EXE}"
echo "$FOUNDATION_PLAT_EXE $FOUNDATION_PLAT_ARGS $EXTRA_ARGS"
$FOUNDATION_PLAT_EXE $FOUNDATION_PLAT_ARGS $EXTRA_ARGS
@@ -1,233 +0,0 @@
#!/bin/bash
# Script to start a build image using FVP Base Platform
#
set -u
set -e
# Get parameters from bitbake configuration
source <(MACHINE=fvp-base bitbake -e fvp-base-native | grep \
-e "^STAGING_.*_NATIVE=" \
-e "^DEPLOY_DIR.*=")
# Bitbake image to run
IMAGE_NAME="$(cd $DEPLOY_DIR_IMAGE; ls *-fvp-base.manifest | \
sed -e "s/-fvp-base\.manifest//" | head -1)"
# BL1 and FIP files
BL1_FILE="bl1-fvp.bin"
FIP_FILE="fip-fvp.bin"
# Linux kernel file in deploy_dir and load address
KERNEL_FILE="Image"
KERNEL_ADDR="0x80080000"
# DTB file in deploy_dir and load address
DTB_FILE="fvp-base-gicv3-psci-custom.dtb"
DTB_ADDR="0x83000000"
# Xen file in deploy_dir and load address
XEN_FILE="xen-fvp-base"
XEN_ADDR="0x84000000"
# Disk file in deploy_dir
DISK_FILE=""
# Armv8-A Base Platform FVP Executable (Extracted from
# FM000-KT-00173-r11p7-30rel0.tgz from silver.arm.com)
FVPEXEC="FVP_Base_RevC-2xAEMv8A"
# FVP arguments
# enable virtio network
# disable cache modelling to improve performances
FVPARGS=" \
-C bp.virtio_net.enabled=1 \
-C cache_state_modelled=0"
# FVP user arguments
EXTRA_ARGS=""
# Help function
usage() {
cat <<EOF
Usage $0 [OPTION] [IMAGE_NAME] [FVP_ARGS]
Start a generated Yocto Image using Arm Fixed Virtual Platform.
This script will execute FVP_Base_RevC-2xAEMv8A from the PATH.
IMAGE_NAME should be the name of the image to start, this is what you did
build with bitbake, default is 'core-image-minimal' if none is auto-detected.
All extra arguments are passed to FVP after the IMAGE_NAME.
OPTIONs:
-h, --help displays this help message
--deploy=[DIR] use DIR as deploy directory, default is:
$DEPLOY_DIR_IMAGE
--no-bl1 Don't load a BL1
--bl1=[NAME] File name in DEPLOY_DIR_IMAGE to be used for BL1,
default is $BL1_FILE.
This adds the following argument to FVP:
-C bp.secureflashloader.fname=DEPLOY_DIR_IMAGE/NAME
--no-fip Don't load a FIP
--fip=[NAME] File name in DEPLOY_DIR_IMAGE to be used for FIP,
default is $FIP_FILE.
This adds the following argument to FVP:
-C bp.flashloader0.fname=DEPLOY_DIR_IMAGE/NAME
--linux=[NAME] File name in DEPLOY_DIR_IMAGE to be used as Linux kernel
default is $KERNEL_FILE
--linux-addr=[ADDR] Address at which Linux kernel should be loaded
default is $KERNEL_ADDR
--dtb=[NAME] File name in DEPLOY_DIR_IMAGE to be used as DTB
default is $DTB_FILE
--dtb-addr=[ADDR] Address at which DTB should be loaded
default is $DTB_ADDR
--xen=[NAME] File name in DEPLOY_DIR_IMAGE to be used as Xen
It is only loaded if the file actually exists.
default is $XEN_FILE
--xen-addr=[ADDR] Address at which Xen should be loaded
default is $XEN_ADDR
--disk=[NAME] File name in DEPLOY_DIR_IMAGE to be used as disk.
It is only loaded if the file actually exists.
default is IMAGE_NAME-fvp.disk.img
EOF
}
# Process command line arguments
for arg in "$@"; do
case $arg in
--*=*)
optarg=$(echo $arg | sed -e "s/.*=//")
;;
*)
optarg=""
;;
esac
case $arg in
-h|-?|--help)
usage
exit 0
;;
--deploy=*)
if [ ! -f $optarg/Image ]
then
echo "Invalid argument" >&2
echo "$optarg is not a valid deploy directory" >&2
exit 1
fi
DEPLOY_DIR_IMAGE=$optarg
;;
--no-bl1)
BL1_FILE=""
;;
--bl1=*)
BL1_FILE="$optarg"
;;
--no-fip)
FIP_FILE=""
;;
--fip=*)
FIP_FILE="$optarg"
;;
--linux=*)
LINUX_FILE="$optarg"
;;
--linux-addr=*)
LINUX_ADDR="$optarg"
;;
--dtb=*)
DTB_FILE="$optarg"
;;
--dtb-addr=*)
DTB_ADDR="$optarg"
;;
--xen=*)
XEN_FILE="$optarg"
;;
--xen-addr=*)
XEN_ADDR="$optarg"
;;
--disk=*)
DISK_FILE="$optarg"
;;
*)
if [ -z "$IMAGE_NAME" ]
then
IMAGE_NAME="$arg"
else
EXTRA_ARGS="$EXTRA_ARGS $arg"
fi
;;
esac
done
if [ -z "${BUILDDIR:-}" ]; then
echo "We are not in a Yocto build project." >&2
echo "Please source oe-init-build-env first." >&2
exit 1
fi
if [ -z "${IMAGE_NAME:-}" ]; then
IMAGE_NAME="core-image-minimal"
fi
if [ -z "${DISK_FILE:-}" ]; then
DISK_FILE="${IMAGE_NAME}-fvp-base.disk.img"
fi
# Add bl1 arg
if [ -n "$BL1_FILE" ]; then
if [ ! -f $DEPLOY_DIR_IMAGE/$BL1_FILE ]; then
echo "Could not find bl1 ($BL1_FILE) in $DEPLOY_DIR_IMAGE" >&2
exit 1
fi
FVPARGS="$FVPARGS -C bp.secureflashloader.fname=$DEPLOY_DIR_IMAGE/$BL1_FILE"
fi
# Add fip arg
if [ -n "$FIP_FILE" ]; then
if [ ! -f $DEPLOY_DIR_IMAGE/$FIP_FILE ]; then
echo "Could not find fip ($FIP_FILE) in $DEPLOY_DIR_IMAGE" >&2
exit 1
fi
FVPARGS="$FVPARGS -C bp.flashloader0.fname=$DEPLOY_DIR_IMAGE/$FIP_FILE"
fi
# Add Linux kernel
if [ -n "$KERNEL_FILE" ]; then
if [ ! -f $DEPLOY_DIR_IMAGE/$KERNEL_FILE ]; then
echo "Could not find Linux kernel ($KERNEL_FILE) in $DEPLOY_DIR_IMAGE" >&2
exit 1
fi
FVPARGS="$FVPARGS \
--data cluster0.cpu0=$DEPLOY_DIR_IMAGE/$KERNEL_FILE@$KERNEL_ADDR"
fi
# Add xen if present
if [ -n "$XEN_FILE" -a -f $DEPLOY_DIR_IMAGE/$XEN_FILE ]; then
FVPARGS="$FVPARGS \
--data cluster0.cpu0=$DEPLOY_DIR_IMAGE/$XEN_FILE@$XEN_ADDR"
#switch dtb if there
if [ -f $DEPLOY_DIR_IMAGE/$(basename ${DTB_FILE} .dtb)-xen.dtb ]; then
DTB_FILE=$(basename ${DTB_FILE} .dtb)-xen.dtb
fi
fi
# Add DTB
if [ -n "$DTB_FILE" ]; then
if [ ! -f $DEPLOY_DIR_IMAGE/$DTB_FILE ]; then
echo "Could not find the DTB ($DTB_FILE) in $DEPLOY_DIR_IMAGE" >&2
exit 1
fi
FVPARGS="$FVPARGS \
--data cluster0.cpu0=$DEPLOY_DIR_IMAGE/$DTB_FILE@$DTB_ADDR"
fi
# Add disk if present
if [ -n "$DISK_FILE" -a -f $DEPLOY_DIR_IMAGE/$DISK_FILE ]; then
FVPARGS="$FVPARGS \
-C bp.virtioblockdevice.image_path=$DEPLOY_DIR_IMAGE/$DISK_FILE"
fi
FVPEXEC="${STAGING_BINDIR_NATIVE}/${FVPEXEC}"
echo "$FVPEXEC $FVPARGS $EXTRA_ARGS"
$FVPEXEC $FVPARGS $EXTRA_ARGS
@@ -1,45 +0,0 @@
# Armv8-A Foundation Platform build recipe
#
# Download and install recipe specific for Armv8-A Foundation Platform build are
# captured in the file.
#
# The tar file required to build this package must be downloaded from
# https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms
# and put in the sub-directory 'licensed/silver.arm.com' of one of the
# following locations:
# - in the directory 'files' of this file directory
# - in your Yocto project download directory (DL_DIR parameter of local.conf)
# - in your Download mirror if you have one
SRC_URI = "file://licensed/silver.arm.com/FM000-KT-00035-${PV}.tgz"
SRC_URI += "file://start-foundation-armv8.sh"
S = "${WORKDIR}/Foundation_Platformpkg"
# Checksums to compare against downloaded package files' checksums
LIC_FILES_CHKSUM = " \
file://license_terms/license_agreement.txt;md5=ae7b47c67a033995c6b4510476a50f03 \
file://license_terms/redistributables.txt;md5=f9fafcaf37ce6c9427568b9dbdbaabe5 \
file://license_terms/supplementary_terms.txt;md5=26e4b214f639a22c8e7e207abc10eccb \
file://license_terms/third_party_licenses.txt;md5=6394c171d6657fc195573c4d239341c4 \
"
require fvp-native.inc
do_install_append() {
cp -a --no-preserve=ownership -rf doc license_terms models plugins \
${D}/${datadir}/fvp/.
cat <<EOF > ${D}${bindir}/Foundation_Platform
#!/bin/bash
basedir=\$(cd \$(dirname \$0)/../../; pwd)
export LD_LIBRARY_PATH="\$basedir/lib:\$basedir/usr/lib"
\$basedir/usr/share/fvp/models/Linux64_GCC-6.4/Foundation_Platform "\$@"
EOF
chmod 755 ${D}${bindir}/Foundation_Platform
}
do_deploy_append() {
install -m 755 ${WORKDIR}/start-foundation-armv8.sh ${DEPLOYDIR}/.
}
@@ -1,45 +0,0 @@
# Armv8-A Base Platform FVP build recipe
#
# Download and install recipe specific for Armv8-A Base Platform FVP build are
# captured in the file.
#
# The tar file required to build this package must be downloaded from
# https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms
# and put in the sub-directory 'licensed/silver.arm.com' of one of the
# following locations:
# - in the directory 'files' of this file directory
# - in your Yocto project download directory (DL_DIR parameter of local.conf)
# - in your Download mirror if you have one
SRC_URI = "file://licensed/silver.arm.com/FM000-KT-00173-${PV}.tgz"
SRC_URI += "file://start-fvp-base.sh"
S = "${WORKDIR}/Base_RevC_AEMv8A_pkg"
# Checksums to compare against downloaded package files' checksums
LIC_FILES_CHKSUM = " \
file://license_terms/license_agreement.txt;md5=ae7b47c67a033995c6b4510476a50f03 \
file://license_terms/redistributables.txt;md5=f9fafcaf37ce6c9427568b9dbdbaabe5 \
file://license_terms/supplementary_terms.txt;md5=26e4b214f639a22c8e7e207abc10eccb \
file://license_terms/third_party_licenses.txt;md5=1aa4ab9ee0642b1bc92063d29426c25f \
"
require fvp-native.inc
do_install_append() {
cp -a --no-preserve=ownership -rf bin doc fmtplib license_terms models \
plugins scripts ${D}/${datadir}/fvp/.
cat <<EOF > ${D}${bindir}/FVP_Base_RevC-2xAEMv8A
#!/bin/bash
basedir=\$(cd \$(dirname \$0)/../../; pwd)
export LD_LIBRARY_PATH="\$basedir/lib:\$basedir/usr/lib"
\$basedir/usr/share/fvp/models/Linux64_GCC-4.9/FVP_Base_RevC-2xAEMv8A "\$@"
EOF
chmod 755 ${D}${bindir}/FVP_Base_RevC-2xAEMv8A
}
do_deploy_append() {
install -m 755 ${WORKDIR}/start-fvp-base.sh ${DEPLOYDIR}/.
}
@@ -1,34 +0,0 @@
# Fixed Virtual Platform (FVP) executable installation recipe
#
# Package specific information like checksums and source information captured
# in specific bb files.
#
SUMMARY = "Arm Fixed Virtual Platform"
HOMEPAGE = "https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms"
LICENSE = "Proprietary & GPLv2 & Apache-2"
inherit native deploy
do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install() {
install -d ${D}/${datadir}/fvp
install -d ${D}${bindir}
}
FILES_${PN} = "${datadir}/fvp/* ${bindir}/*"
INSANE_SKIP_${PN} += "already-stripped"
# This is required so that our binaries are in the sysroot. We need this
# to have both fvp required libraries and fvp in the same sysroot.
addtask addto_recipe_sysroot after do_populate_sysroot before do_build
do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}"
do_deploy() {
install -d ${DEPLOYDIR}
}
addtask deploy before do_build after do_compile