#!/usr/bin/env bash
#
# Copyright (c) 2020-2023, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#

pre_tftf_build() {
	# Build Cactus and Ivy images only
	targets="cactus ivy" set_tftf_build_targets
}

post_tf_build() {
	url="$tfa_downloads/spm/07-29-2021/manifest.dtb" fetch_file
	archive_file "manifest.dtb"

	build_fip BL32="$archive/secure_hafnium.bin" FVP_HW_CONFIG="$archive/manifest.dtb"
}

fetch_tf_resource() {
	url="$tfa_downloads/spm/07-29-2021/initrd.img" saveas="initrd.bin" fetch_file
	archive_file "initrd.bin"
}

generate_lava_job_template() {
	payload_type="linux" gen_yaml_template
}

generate_lava_job() {
	local model="base-aemv8a"

	uart="0" file="spm-linux-uart0.exp" track_expect
	uart="2" file="spm-uart2.exp" track_expect

	model="$model" \
		arch_version="8.5" \
		has_branch_target_exception="1" \
		has_smmuv3_params="1" \
		kernel_addr="0x88000000" \
		kernel_bin="$archive/hafnium.bin" \
		memory_tagging_support_level="2" \
		gen_model_params

	model="$model" model_dtb="manifest.dtb" gen_fvp_yaml
}
