blob: f9ce3a8f692c3d7286f067ca9df6688dc4a21cce [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
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
Fathi Boudra422bf772019-12-02 11:10:16 +020029
30
31if [ "$bl2_at_el3" ]; then
32 has_fip=1
Manish V Badarkheea3e0942021-03-05 11:51:48 +000033elif [ "$fip_as_gpt" ]; then
34 has_bl1=1
Fathi Boudra422bf772019-12-02 11:10:16 +020035elif [ -z "$reset_to_spmin" -a -z "$reset_to_bl31" ]; then
36 has_bl1=1
37 has_fip=1
38fi
39
40cat <<EOF >"$model_param_file"
41
42-C bp.ve_sysregs.exit_on_shutdown=1
43-C pctl.startup=$pctl_startup
44
Javier Almansa Sobrinoe8363182020-11-10 16:40:53 +000045${wait_debugger+-S}
46
Fathi Boudra422bf772019-12-02 11:10:16 +020047${secure_memory+-C bp.secure_memory=$secure_memory}
48${cache_state_modelled+-C cache_state_modelled=$cache_state_modelled}
49
50${secure_ram_fill+-C bp.secureSRAM.fill1=0x00000000}
51${secure_ram_fill+-C bp.secureSRAM.fill2=0x00000000}
52
Zelalemeb9c1bb2020-08-04 12:40:46 -050053${bl2_at_el3+--data ${data_instance}=$bl2_bin@${bl2_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020054
Zelalemeb9c1bb2020-08-04 12:40:46 -050055${reset_to_bl31+--data ${data_instance}=$bl31_bin@${bl31_addr:?}}
56${preload_bl33+--data ${data_instance}=$preload_bl33_bin@${bl33_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020057
Zelalemeb9c1bb2020-08-04 12:40:46 -050058${reset_to_spmin+--data ${data_instance}=$bl32_bin@${bl32_addr:?}}
59${reset_to_spmin+--data ${data_instance}=$uboot_bin@${bl33_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020060
Zelalemeb9c1bb2020-08-04 12:40:46 -050061${memprotect+--data ${data_instance}=$memprotect@${memprotect_addr:?}}
62${romlib_bin+--data ${data_instance}=$romlib_bin@${romlib_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020063
64${has_bl1+-C bp.secureflashloader.fname=$bl1_bin}
65${has_fip+-C bp.flashloader0.fname=$fip_bin}
Manish V Badarkheea3e0942021-03-05 11:51:48 +000066${fip_as_gpt+-C bp.flashloader0.fname=$fip_gpt_bin}
Fathi Boudra422bf772019-12-02 11:10:16 +020067
Zelalemeb9c1bb2020-08-04 12:40:46 -050068${dtb_bin+--data ${data_instance}=$dtb_bin@${dtb_addr:?}}
69${kernel_bin+--data ${data_instance}=$kernel_bin@${kernel_addr:?}}
70${initrd_bin+--data ${data_instance}=$initrd_bin@${initrd_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020071
Manish Pandey3c435582020-07-15 12:14:26 +010072${spm_bin+--data ${data_instance}=$spm_bin@${spm_addr:?}}
73${spmc_manifest+--data ${data_instance}=$spmc_manifest@${spmc_manifest_addr:?}}
74${sp1_pkg+--data ${data_instance}=$sp1_pkg@${sp1_addr:?}}
75${sp2_pkg+--data ${data_instance}=$sp2_pkg@${sp2_addr:?}}
Olivier Deprez0b834092020-08-21 08:36:01 +020076${sp3_pkg+--data ${data_instance}=$sp3_pkg@${sp3_addr:?}}
Olivier Deprezdd9ed332021-07-02 12:07:17 +020077${sp4_pkg+--data ${data_instance}=$sp4_pkg@${sp4_addr:?}}
Manish Pandey3c435582020-07-15 12:14:26 +010078
Zelalemeb9c1bb2020-08-04 12:40:46 -050079${ns_bl1u_bin+--data ${data_instance}=$ns_bl1u_bin@$ns_bl1u_addr}
80${fwu_fip_bin+--data ${data_instance}=$fwu_fip_bin@$fwu_fip_addr}
81${backup_fip_bin+--data ${data_instance}=$backup_fip_bin@$backup_fip_addr}
Fathi Boudra422bf772019-12-02 11:10:16 +020082
83${flashloader1_bin+-C bp.flashloader1.fname=$flashloader1_bin}
84${rootfs_bin+-C bp.virtioblockdevice.image_path=$rootfs_bin}
85
86${uart0_out+-C bp.pl011_uart0.out_file=$uart0_out}
87${uart0_out+-C bp.pl011_uart0.unbuffered_output=1}
Zelalemeb9c1bb2020-08-04 12:40:46 -050088${uart1_out+-C bp.pl011_uart1.out_file=$uart1_out}
Fathi Boudra422bf772019-12-02 11:10:16 +020089
90${no_quantum--Q ${quantum}}
91
92EOF
Zelalemeb9c1bb2020-08-04 12:40:46 -050093
Leonardo Sandovalce3783b2021-03-05 12:04:02 -060094# OpenCI uses LAVA to launch models, the latter requiring (uart) unbuffered output,
95# otherwise these may get full and models hang.
Madhukar Pappireddy21a5e672021-03-08 17:49:45 -060096if ! is_arm_jenkins_env && not_upon "$local_ci"; then
Ryan Harkinb12eb382020-12-16 10:53:02 +000097 cat <<EOF >>"$model_param_file"
Ryan Harkinb12eb382020-12-16 10:53:02 +000098-C bp.pl011_uart0.unbuffered_output=1
99-C bp.pl011_uart1.unbuffered_output=1
100-C bp.pl011_uart2.unbuffered_output=1
101-C bp.pl011_uart3.unbuffered_output=1
Ryan Harkinb12eb382020-12-16 10:53:02 +0000102EOF
103fi
104
Zelalemeb9c1bb2020-08-04 12:40:46 -0500105if [ "$print_stat" = "1" ]; then
106 cat <<EOF >>"$model_param_file"
107--stat
108EOF
109fi
Alexei Fedorovb7d8ca12020-12-18 17:08:08 +0000110
Leonardo Sandoval4b297722021-05-27 18:00:37 -0500111# TFTF: There are two scenarions where simulation should be shutdown
112# when a EOT (ASCII 4) char is transmitted: on local or Open CI runs.
113# For the latter case, shutdown is required so further commands parse
114# or transfer any produced files during execution, i.e. trace code
115# coverage logs
116if echo "$RUN_CONFIG" | grep -iq 'tftf'; then
117 if ! is_arm_jenkins_env || upon "$local_ci"; then
Alexei Fedorovb7d8ca12020-12-18 17:08:08 +0000118 cat <<EOF >>"$model_param_file"
119-C bp.pl011_uart0.shutdown_on_eot=1
120EOF
Leonardo Sandoval4b297722021-05-27 18:00:37 -0500121 fi
Alexei Fedorovb7d8ca12020-12-18 17:08:08 +0000122fi