fix (fvp): include missing artefacts on templates

Artefacts include the following: ivy.pkg, fvp_spmc_manifiest.dtb, and
manifest.dtb. Besides these new inclusions, this change checks possible
DBT files, which include dtb.bin, manifest.dtb and
fpp_spmc_manifest.dtb, now treating each as separate case.

Signed-off-by: Leonardo Sandoval <leonardo.sandoval@linaro.org>
Change-Id: Ie8ad3f69ad582f2fc463bb89951e0ae81c8ad8bb
diff --git a/fvp_utils.sh b/fvp_utils.sh
index 4b6a765..a7f4169 100644
--- a/fvp_utils.sh
+++ b/fvp_utils.sh
@@ -342,10 +342,13 @@
     el3_payload="$(fvp_gen_bin_url el3_payload.bin)"
     fip="$(fvp_gen_bin_url fip.bin)"
     fip_gpt="$(fvp_gen_bin_url fip_gpt.bin)"
+    fvp_spmc_manifest_dtb="$(fvp_gen_bin_url fvp_spmc_manifest.dtb)"
     fwu_fip="$(fvp_gen_bin_url fwu_fip.bin)"
     generic_trace="${tfa_downloads}/FastModelsPortfolio_${model_version}/plugins/${model_flavour}/GenericTrace.so"
     hafnium="$(fvp_gen_bin_url hafnium.bin)"
     image="$(fvp_gen_bin_url kernel.bin)"
+    ivy="$(fvp_gen_bin_url ivy.pkg)"
+    manifest_dtb="$(fvp_gen_bin_url manifest.dtb)"
     mcp_rom="$(fvp_gen_bin_url mcp_rom.bin)"
     mcp_rom_hyphen="$(fvp_gen_bin_url mcp-rom.bin)"
     ns_bl1u="$(fvp_gen_bin_url ns_bl1u.bin)"
@@ -401,6 +404,7 @@
         [cactus_secondary]="{CACTUS_SECONDARY}"
         [cactus_tertiary]="{CACTUS_TERTIARY}"
         [coverage_trace_plugin]="{COVERAGE_TRACE_PLUGIN}"
+        [fvp_spmc_manifest_dtb]="{FVP_SPMC_MANIFEST_DTB}"
         [busybox]="{BUSYBOX}"
         [dtb]="{DTB}"
         [el3_payload]="{EL3_PAYLOAD}"
@@ -410,6 +414,8 @@
         [generic_trace]="{GENERIC_TRACE}"
         [hafnium]="{HAFNIUM}"
         [image]="{IMAGE}"
+        [ivy]="{IVY}"
+        [manifest_dtb]="{MANIFEST_DTB}"
         [mcp_rom]="{MCP_ROM}"
         [mcp_rom_hyphen]="{MCP_ROM_HYPHEN}"
         [ns_bl1u]="{NS_BL1U}"
@@ -468,11 +474,10 @@
                     sed -i "/url: ${artefacts_macros[$m]}\$/d" "${yaml_template_file}"
                 fi
                 ;;
-            dtb)
-                # dtb can come in different names, i.e.  dtb.bin, manifest.dtb,
-                # so handle with regex
-                if ! grep -E -q "=.*dtb.*@" "$archive/model_params"; then
-                    sed -i "/$m:\$/d" "${yaml_template_file}"
+            fvp_spmc_manifest_dtb)
+                # handles fvp_spmc_manifest.dtb as DTB file
+                if ! grep -q "=fvp_spmc_manifest.dtb" "$archive/model_params"; then
+                    sed -i "/ $m:\$/d" "${yaml_template_file}"
                     sed -i "/url: ${artefacts_macros[$m]}\$/d" "${yaml_template_file}"
                 fi
                 ;;
@@ -490,6 +495,20 @@
                     sed -i "/url: ${artefacts_macros[$m]}\$/d" "${yaml_template_file}"
                 fi
                 ;;
+            ivy)
+                # the ivy package
+                if ! grep -q "ivy.pkg" "$archive/model_params"; then
+                    sed -i "/$m:\$/d" "${yaml_template_file}"
+                    sed -i "/url: ${artefacts_macros[$m]}\$/d" "${yaml_template_file}"
+                fi
+                ;;
+            manifest_dtb)
+                # handles manifest.dtb as DTB file
+                if ! grep -q "=manifest.dtb" "$archive/model_params"; then
+                    sed -i "/ $m:\$/d" "${yaml_template_file}"
+                    sed -i "/url: ${artefacts_macros[$m]}\$/d" "${yaml_template_file}"
+                fi
+                ;;
             mcp_rom_hyphen)
                 # mcp rom is either present as mcp-rom or mcp_rom, handle the former case
                 if ! grep -q "mcp-rom.bin" "$archive/model_params"; then
@@ -558,9 +577,6 @@
     # artefacts
     for m in "${!artefacts_macros[@]}"; do
         case "$m" in
-            dtb)
-                sed -i -e "s|=.*dtb.*@|=${artefacts_macros[$m]}@|" "$lava_model_params"
-                ;;
             cactus_primary)
                 sed -i -e "s|=cactus-primary.pkg|=${artefacts_macros[$m]}|" "$lava_model_params"
                 ;;
@@ -574,6 +590,9 @@
                 sed -i -e "s|--plugin .*coverage_trace.so|--plugin ${artefacts_macros[$m]}|" "$lava_model_params"
                 sed -i -e "s|--plugin=.*coverage_trace.so|--plugin=${artefacts_macros[$m]}|" "$lava_model_params"
                 ;;
+            fvp_spmc_manifest_dtb)
+                sed -i -e "s|=fvp_spmc_manifest.dtb|=${artefacts_macros[$m]}|" "$lava_model_params"
+                ;;
             generic_trace)
                 sed -i -e "s|--plugin .*GenericTrace.so|--plugin ${artefacts_macros[$m]}|" "$lava_model_params"
 		sed -i -e "s|--plugin=.*GenericTrace.so|--plugin=${artefacts_macros[$m]}|" "$lava_model_params"
@@ -581,6 +600,12 @@
             image)
                 sed -i -e "s|=kernel.bin|=${artefacts_macros[$m]}|" "$lava_model_params"
                 ;;
+            ivy)
+                sed -i -e "s|=ivy.pkg|=${artefacts_macros[$m]}|" "$lava_model_params"
+                ;;
+            manifest_dtb)
+                sed -i -e "s|=manifest.dtb|=${artefacts_macros[$m]}|" "$lava_model_params"
+                ;;
             mcp_rom_hyphen)
                 sed -i -e "s|=mcp-rom.bin|=${artefacts_macros[$m]}|" "$lava_model_params"
                 ;;
diff --git a/run_config/fvp-spm.rstbl31 b/run_config/fvp-spm.rstbl31
index fcdeff1..d4afdc6 100644
--- a/run_config/fvp-spm.rstbl31
+++ b/run_config/fvp-spm.rstbl31
@@ -67,5 +67,5 @@
 	has_smmuv3_params="1" \
 		gen_model_params
 
-	model="$model" model_dtb="dtb.bin" gen_fvp_yaml
+	model="$model" gen_fvp_yaml
 }
diff --git a/script/gen_fvp_linux_yaml.sh b/script/gen_fvp_linux_yaml.sh
index 2b6f152..ab58683 100755
--- a/script/gen_fvp_linux_yaml.sh
+++ b/script/gen_fvp_linux_yaml.sh
@@ -78,6 +78,8 @@
         url: {DTB}
       el3_payload:
         url: {EL3_PAYLOAD}
+      fvp_spmc_manifest_dtb:
+        url: {FVP_SPMC_MANIFEST_DTB}
       fip:
         url: {FIP}
       fip_gpt:
@@ -90,6 +92,10 @@
         url: {HAFNIUM}
       image:
         url: {IMAGE}
+      ivy:
+        url: {IVY}
+      manifest_dtb:
+        url: {MANIFEST_DTB}
       mcp_rom:
         url: {MCP_ROM}
       mcp_rom_hyphen:
diff --git a/script/gen_fvp_tftf_yaml.sh b/script/gen_fvp_tftf_yaml.sh
index 645492f..9ab6fcc 100755
--- a/script/gen_fvp_tftf_yaml.sh
+++ b/script/gen_fvp_tftf_yaml.sh
@@ -91,6 +91,8 @@
         url: {DTB}
       el3_payload:
         url: {EL3_PAYLOAD}
+      fvp_spmc_manifest_dtb:
+        url: {FVP_SPMC_MANIFEST_DTB}
       fip:
         url: {FIP}
       fip_gpt:
@@ -103,6 +105,10 @@
         url: {HAFNIUM}
       image:
         url: {IMAGE}
+      ivy:
+        url: {IVY}
+      manifest_dtb:
+        url: {MANIFEST_DTB}
       mcp_rom:
         url: {MCP_ROM}
       mcp_rom_hyphen: