blob: 19a06a3aa57672d247a38b38248de0757f40cf29 [file] [log] [blame]
Fathi Boudra422bf772019-12-02 11:10:16 +02001#
laurenw-armafdc3bc2022-09-14 15:31:42 -05002# Copyright (c) 2019-2022, 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
Manish V Badarkhe970bc182021-07-19 10:28:12 +010015# Trace unit functionally works in FVP model by enabling ETM/ETE trace
16# unit along with its plugin.
17# Hence disabled ETM by default, and enable it along with its plugin whenever
18# needed.
19default_var etm_present 0
Fathi Boudra422bf772019-12-02 11:10:16 +020020
Fathi Boudra422bf772019-12-02 11:10:16 +020021reset_var has_bl1
22reset_var has_fip
23reset_var preload_bl33
24reset_var reset_to_bl31
25reset_var reset_to_spmin
26reset_var secure_memory
27reset_var secure_ram_fill
Javier Almansa Sobrinoe8363182020-11-10 16:40:53 +000028reset_var wait_debugger
laurenw-armafdc3bc2022-09-14 15:31:42 -050029reset_var cluster_0_num_cores
Fathi Boudra422bf772019-12-02 11:10:16 +020030
31
32if [ "$bl2_at_el3" ]; then
33 has_fip=1
Manish V Badarkheea3e0942021-03-05 11:51:48 +000034elif [ "$fip_as_gpt" ]; then
35 has_bl1=1
Fathi Boudra422bf772019-12-02 11:10:16 +020036elif [ -z "$reset_to_spmin" -a -z "$reset_to_bl31" ]; then
37 has_bl1=1
38 has_fip=1
39fi
40
41cat <<EOF >"$model_param_file"
42
43-C bp.ve_sysregs.exit_on_shutdown=1
44-C pctl.startup=$pctl_startup
45
Javier Almansa Sobrinoe8363182020-11-10 16:40:53 +000046${wait_debugger+-S}
47
Fathi Boudra422bf772019-12-02 11:10:16 +020048${secure_memory+-C bp.secure_memory=$secure_memory}
49${cache_state_modelled+-C cache_state_modelled=$cache_state_modelled}
50
51${secure_ram_fill+-C bp.secureSRAM.fill1=0x00000000}
52${secure_ram_fill+-C bp.secureSRAM.fill2=0x00000000}
53
Zelalemeb9c1bb2020-08-04 12:40:46 -050054${bl2_at_el3+--data ${data_instance}=$bl2_bin@${bl2_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020055
laurenw-armafdc3bc2022-09-14 15:31:42 -050056${cluster_0_num_cores+-C cluster0.NUM_CORES=$cluster_0_num_cores}
57
Zelalemeb9c1bb2020-08-04 12:40:46 -050058${reset_to_bl31+--data ${data_instance}=$bl31_bin@${bl31_addr:?}}
59${preload_bl33+--data ${data_instance}=$preload_bl33_bin@${bl33_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020060
Zelalemeb9c1bb2020-08-04 12:40:46 -050061${reset_to_spmin+--data ${data_instance}=$bl32_bin@${bl32_addr:?}}
62${reset_to_spmin+--data ${data_instance}=$uboot_bin@${bl33_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020063
Zelalemeb9c1bb2020-08-04 12:40:46 -050064${memprotect+--data ${data_instance}=$memprotect@${memprotect_addr:?}}
65${romlib_bin+--data ${data_instance}=$romlib_bin@${romlib_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020066
67${has_bl1+-C bp.secureflashloader.fname=$bl1_bin}
68${has_fip+-C bp.flashloader0.fname=$fip_bin}
Manish V Badarkheea3e0942021-03-05 11:51:48 +000069${fip_as_gpt+-C bp.flashloader0.fname=$fip_gpt_bin}
Fathi Boudra422bf772019-12-02 11:10:16 +020070
Zelalemeb9c1bb2020-08-04 12:40:46 -050071${dtb_bin+--data ${data_instance}=$dtb_bin@${dtb_addr:?}}
72${kernel_bin+--data ${data_instance}=$kernel_bin@${kernel_addr:?}}
73${initrd_bin+--data ${data_instance}=$initrd_bin@${initrd_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020074
Manish Pandey3c435582020-07-15 12:14:26 +010075${spm_bin+--data ${data_instance}=$spm_bin@${spm_addr:?}}
76${spmc_manifest+--data ${data_instance}=$spmc_manifest@${spmc_manifest_addr:?}}
77${sp1_pkg+--data ${data_instance}=$sp1_pkg@${sp1_addr:?}}
78${sp2_pkg+--data ${data_instance}=$sp2_pkg@${sp2_addr:?}}
Olivier Deprez0b834092020-08-21 08:36:01 +020079${sp3_pkg+--data ${data_instance}=$sp3_pkg@${sp3_addr:?}}
Olivier Deprezdd9ed332021-07-02 12:07:17 +020080${sp4_pkg+--data ${data_instance}=$sp4_pkg@${sp4_addr:?}}
Manish Pandey3c435582020-07-15 12:14:26 +010081
Zelalemeb9c1bb2020-08-04 12:40:46 -050082${ns_bl1u_bin+--data ${data_instance}=$ns_bl1u_bin@$ns_bl1u_addr}
83${fwu_fip_bin+--data ${data_instance}=$fwu_fip_bin@$fwu_fip_addr}
84${backup_fip_bin+--data ${data_instance}=$backup_fip_bin@$backup_fip_addr}
Fathi Boudra422bf772019-12-02 11:10:16 +020085
86${flashloader1_bin+-C bp.flashloader1.fname=$flashloader1_bin}
87${rootfs_bin+-C bp.virtioblockdevice.image_path=$rootfs_bin}
88
89${uart0_out+-C bp.pl011_uart0.out_file=$uart0_out}
90${uart0_out+-C bp.pl011_uart0.unbuffered_output=1}
Zelalemeb9c1bb2020-08-04 12:40:46 -050091${uart1_out+-C bp.pl011_uart1.out_file=$uart1_out}
Fathi Boudra422bf772019-12-02 11:10:16 +020092
93${no_quantum--Q ${quantum}}
94
95EOF
Zelalemeb9c1bb2020-08-04 12:40:46 -050096
Leonardo Sandovalce3783b2021-03-05 12:04:02 -060097# OpenCI uses LAVA to launch models, the latter requiring (uart) unbuffered output,
98# otherwise these may get full and models hang.
Madhukar Pappireddy21a5e672021-03-08 17:49:45 -060099if ! is_arm_jenkins_env && not_upon "$local_ci"; then
Ryan Harkinb12eb382020-12-16 10:53:02 +0000100 cat <<EOF >>"$model_param_file"
Ryan Harkinb12eb382020-12-16 10:53:02 +0000101-C bp.pl011_uart0.unbuffered_output=1
102-C bp.pl011_uart1.unbuffered_output=1
103-C bp.pl011_uart2.unbuffered_output=1
104-C bp.pl011_uart3.unbuffered_output=1
Ryan Harkinb12eb382020-12-16 10:53:02 +0000105EOF
106fi
107
Zelalemeb9c1bb2020-08-04 12:40:46 -0500108if [ "$print_stat" = "1" ]; then
109 cat <<EOF >>"$model_param_file"
110--stat
111EOF
112fi
Alexei Fedorovb7d8ca12020-12-18 17:08:08 +0000113
Leonardo Sandoval4b297722021-05-27 18:00:37 -0500114# TFTF: There are two scenarions where simulation should be shutdown
115# when a EOT (ASCII 4) char is transmitted: on local or Open CI runs.
116# For the latter case, shutdown is required so further commands parse
117# or transfer any produced files during execution, i.e. trace code
118# coverage logs
119if echo "$RUN_CONFIG" | grep -iq 'tftf'; then
120 if ! is_arm_jenkins_env || upon "$local_ci"; then
Alexei Fedorovb7d8ca12020-12-18 17:08:08 +0000121 cat <<EOF >>"$model_param_file"
122-C bp.pl011_uart0.shutdown_on_eot=1
123EOF
Leonardo Sandoval4b297722021-05-27 18:00:37 -0500124 fi
Alexei Fedorovb7d8ca12020-12-18 17:08:08 +0000125fi