blob: f8ec343d3014e2fc11c2a4922eb56fd905b02901 [file] [log] [blame]
#! /bin/bash
#
# Script to run the EL3 payload on the Foundation FVP.
#
# /!\ The EL3 payload is not supported on the Foundation FVP without tweaking
# the code. You need to modify the number of expected cores in
# plat/fvp/platform.h:
# -#define CPUS_COUNT 8
# +#define CPUS_COUNT 4
#
set -e
# usage: check_file_is_present <filename>
# Check that <filename> exists in the current directory.
# If not, print an error message and exit.
function check_file_is_present
{
BIN_FILE=$1
if [ ! -e "$BIN_FILE" ]; then
echo "ERROR: Can't find \"$BIN_FILE\" file"
echo "Please copy $BIN_FILE into the current working directory."
echo "Alternatively, a symbolic link might be created."
echo
exit 1
fi
}
check_file_is_present "bl1.bin"
check_file_is_present "fip.bin"
# Create an 8-byte file containing all zero bytes.
# It will be loaded at the beginning of the Trusted SRAM to zero the mailbox.
MAILBOX_FILE=mailbox.dat
rm -f $MAILBOX_FILE
dd if=/dev/zero of=$MAILBOX_FILE bs=1 count=8
# The path to the Foundation model must be provided by the user.
MODEL_EXEC="${MODEL_EXEC:?}"
MODEL_PARAMETERS=" \
--cores=4 \
--visualization \
--data=bl1.bin@0x0 \
--data=fip.bin@0x08000000 \
--data=$MAILBOX_FILE@0x04000000 \
--data=build/fvp/el3_payload.bin@0x80000000 \
"
echo $MODEL_EXEC $MODEL_PARAMETERS
$MODEL_EXEC $MODEL_PARAMETERS