blob: 87f2b106838845cd2a263f73389e57d754492d1f [file] [log] [blame]
Fathi Boudra422bf772019-12-02 11:10:16 +02001#
Alexei Fedorovb7d8ca12020-12-18 17:08:08 +00002# Copyright (c) 2019-2021, Arm Limited. All rights reserved.
Fathi Boudra422bf772019-12-02 11:10:16 +02003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7# This file contains common model controls and parameters across *ALL* FVP
8# models.
9
10default_var pctl_startup 0.0.0.0
11default_var quantum 1000
Zelalemeb9c1bb2020-08-04 12:40:46 -050012default_var data_instance cluster0.cpu0
13default_var cache_state_modelled 1
14default_var print_stat 1
Fathi Boudra422bf772019-12-02 11:10:16 +020015
Fathi Boudra422bf772019-12-02 11:10:16 +020016reset_var has_bl1
17reset_var has_fip
18reset_var preload_bl33
19reset_var reset_to_bl31
20reset_var reset_to_spmin
21reset_var secure_memory
22reset_var secure_ram_fill
Javier Almansa Sobrinoe8363182020-11-10 16:40:53 +000023reset_var wait_debugger
Fathi Boudra422bf772019-12-02 11:10:16 +020024
25
26if [ "$bl2_at_el3" ]; then
27 has_fip=1
Manish V Badarkheea3e0942021-03-05 11:51:48 +000028elif [ "$fip_as_gpt" ]; then
29 has_bl1=1
Fathi Boudra422bf772019-12-02 11:10:16 +020030elif [ -z "$reset_to_spmin" -a -z "$reset_to_bl31" ]; then
31 has_bl1=1
32 has_fip=1
33fi
34
35cat <<EOF >"$model_param_file"
36
37-C bp.ve_sysregs.exit_on_shutdown=1
38-C pctl.startup=$pctl_startup
39
Javier Almansa Sobrinoe8363182020-11-10 16:40:53 +000040${wait_debugger+-S}
41
Fathi Boudra422bf772019-12-02 11:10:16 +020042${secure_memory+-C bp.secure_memory=$secure_memory}
43${cache_state_modelled+-C cache_state_modelled=$cache_state_modelled}
44
45${secure_ram_fill+-C bp.secureSRAM.fill1=0x00000000}
46${secure_ram_fill+-C bp.secureSRAM.fill2=0x00000000}
47
Zelalemeb9c1bb2020-08-04 12:40:46 -050048${bl2_at_el3+--data ${data_instance}=$bl2_bin@${bl2_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020049
Zelalemeb9c1bb2020-08-04 12:40:46 -050050${reset_to_bl31+--data ${data_instance}=$bl31_bin@${bl31_addr:?}}
51${preload_bl33+--data ${data_instance}=$preload_bl33_bin@${bl33_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020052
Zelalemeb9c1bb2020-08-04 12:40:46 -050053${reset_to_spmin+--data ${data_instance}=$bl32_bin@${bl32_addr:?}}
54${reset_to_spmin+--data ${data_instance}=$uboot_bin@${bl33_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020055
Zelalemeb9c1bb2020-08-04 12:40:46 -050056${memprotect+--data ${data_instance}=$memprotect@${memprotect_addr:?}}
57${romlib_bin+--data ${data_instance}=$romlib_bin@${romlib_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020058
59${has_bl1+-C bp.secureflashloader.fname=$bl1_bin}
60${has_fip+-C bp.flashloader0.fname=$fip_bin}
Manish V Badarkheea3e0942021-03-05 11:51:48 +000061${fip_as_gpt+-C bp.flashloader0.fname=$fip_gpt_bin}
Fathi Boudra422bf772019-12-02 11:10:16 +020062
Zelalemeb9c1bb2020-08-04 12:40:46 -050063${dtb_bin+--data ${data_instance}=$dtb_bin@${dtb_addr:?}}
64${kernel_bin+--data ${data_instance}=$kernel_bin@${kernel_addr:?}}
65${initrd_bin+--data ${data_instance}=$initrd_bin@${initrd_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020066
Manish Pandey3c435582020-07-15 12:14:26 +010067${spm_bin+--data ${data_instance}=$spm_bin@${spm_addr:?}}
68${spmc_manifest+--data ${data_instance}=$spmc_manifest@${spmc_manifest_addr:?}}
69${sp1_pkg+--data ${data_instance}=$sp1_pkg@${sp1_addr:?}}
70${sp2_pkg+--data ${data_instance}=$sp2_pkg@${sp2_addr:?}}
Olivier Deprez0b834092020-08-21 08:36:01 +020071${sp3_pkg+--data ${data_instance}=$sp3_pkg@${sp3_addr:?}}
Olivier Deprezdd9ed332021-07-02 12:07:17 +020072${sp4_pkg+--data ${data_instance}=$sp4_pkg@${sp4_addr:?}}
Manish Pandey3c435582020-07-15 12:14:26 +010073
Zelalemeb9c1bb2020-08-04 12:40:46 -050074${ns_bl1u_bin+--data ${data_instance}=$ns_bl1u_bin@$ns_bl1u_addr}
75${fwu_fip_bin+--data ${data_instance}=$fwu_fip_bin@$fwu_fip_addr}
76${backup_fip_bin+--data ${data_instance}=$backup_fip_bin@$backup_fip_addr}
Fathi Boudra422bf772019-12-02 11:10:16 +020077
78${flashloader1_bin+-C bp.flashloader1.fname=$flashloader1_bin}
79${rootfs_bin+-C bp.virtioblockdevice.image_path=$rootfs_bin}
80
81${uart0_out+-C bp.pl011_uart0.out_file=$uart0_out}
82${uart0_out+-C bp.pl011_uart0.unbuffered_output=1}
Zelalemeb9c1bb2020-08-04 12:40:46 -050083${uart1_out+-C bp.pl011_uart1.out_file=$uart1_out}
Fathi Boudra422bf772019-12-02 11:10:16 +020084
85${no_quantum--Q ${quantum}}
86
87EOF
Zelalemeb9c1bb2020-08-04 12:40:46 -050088
Leonardo Sandovalce3783b2021-03-05 12:04:02 -060089# OpenCI uses LAVA to launch models, the latter requiring (uart) unbuffered output,
90# otherwise these may get full and models hang.
Madhukar Pappireddy21a5e672021-03-08 17:49:45 -060091if ! is_arm_jenkins_env && not_upon "$local_ci"; then
Ryan Harkinb12eb382020-12-16 10:53:02 +000092 cat <<EOF >>"$model_param_file"
Ryan Harkinb12eb382020-12-16 10:53:02 +000093-C bp.pl011_uart0.unbuffered_output=1
94-C bp.pl011_uart1.unbuffered_output=1
95-C bp.pl011_uart2.unbuffered_output=1
96-C bp.pl011_uart3.unbuffered_output=1
Ryan Harkinb12eb382020-12-16 10:53:02 +000097EOF
98fi
99
Zelalemeb9c1bb2020-08-04 12:40:46 -0500100if [ "$print_stat" = "1" ]; then
101 cat <<EOF >>"$model_param_file"
102--stat
103EOF
104fi
Alexei Fedorovb7d8ca12020-12-18 17:08:08 +0000105
Leonardo Sandoval4b297722021-05-27 18:00:37 -0500106# TFTF: There are two scenarions where simulation should be shutdown
107# when a EOT (ASCII 4) char is transmitted: on local or Open CI runs.
108# For the latter case, shutdown is required so further commands parse
109# or transfer any produced files during execution, i.e. trace code
110# coverage logs
111if echo "$RUN_CONFIG" | grep -iq 'tftf'; then
112 if ! is_arm_jenkins_env || upon "$local_ci"; then
Alexei Fedorovb7d8ca12020-12-18 17:08:08 +0000113 cat <<EOF >>"$model_param_file"
114-C bp.pl011_uart0.shutdown_on_eot=1
115EOF
Leonardo Sandoval4b297722021-05-27 18:00:37 -0500116 fi
Alexei Fedorovb7d8ca12020-12-18 17:08:08 +0000117fi