blob: 2f9cd179ca1fbf497f9f2ea62573efbf77c28733 [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
28elif [ -z "$reset_to_spmin" -a -z "$reset_to_bl31" ]; then
29 has_bl1=1
30 has_fip=1
31fi
32
33cat <<EOF >"$model_param_file"
34
35-C bp.ve_sysregs.exit_on_shutdown=1
36-C pctl.startup=$pctl_startup
37
Javier Almansa Sobrinoe8363182020-11-10 16:40:53 +000038${wait_debugger+-S}
39
Fathi Boudra422bf772019-12-02 11:10:16 +020040${secure_memory+-C bp.secure_memory=$secure_memory}
41${cache_state_modelled+-C cache_state_modelled=$cache_state_modelled}
42
43${secure_ram_fill+-C bp.secureSRAM.fill1=0x00000000}
44${secure_ram_fill+-C bp.secureSRAM.fill2=0x00000000}
45
Zelalemeb9c1bb2020-08-04 12:40:46 -050046${bl2_at_el3+--data ${data_instance}=$bl2_bin@${bl2_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020047
Zelalemeb9c1bb2020-08-04 12:40:46 -050048${reset_to_bl31+--data ${data_instance}=$bl31_bin@${bl31_addr:?}}
49${preload_bl33+--data ${data_instance}=$preload_bl33_bin@${bl33_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020050
Zelalemeb9c1bb2020-08-04 12:40:46 -050051${reset_to_spmin+--data ${data_instance}=$bl32_bin@${bl32_addr:?}}
52${reset_to_spmin+--data ${data_instance}=$uboot_bin@${bl33_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020053
Zelalemeb9c1bb2020-08-04 12:40:46 -050054${memprotect+--data ${data_instance}=$memprotect@${memprotect_addr:?}}
55${romlib_bin+--data ${data_instance}=$romlib_bin@${romlib_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020056
57${has_bl1+-C bp.secureflashloader.fname=$bl1_bin}
58${has_fip+-C bp.flashloader0.fname=$fip_bin}
59
Zelalemeb9c1bb2020-08-04 12:40:46 -050060${dtb_bin+--data ${data_instance}=$dtb_bin@${dtb_addr:?}}
61${kernel_bin+--data ${data_instance}=$kernel_bin@${kernel_addr:?}}
62${initrd_bin+--data ${data_instance}=$initrd_bin@${initrd_addr:?}}
Fathi Boudra422bf772019-12-02 11:10:16 +020063
Manish Pandey3c435582020-07-15 12:14:26 +010064${spm_bin+--data ${data_instance}=$spm_bin@${spm_addr:?}}
65${spmc_manifest+--data ${data_instance}=$spmc_manifest@${spmc_manifest_addr:?}}
66${sp1_pkg+--data ${data_instance}=$sp1_pkg@${sp1_addr:?}}
67${sp2_pkg+--data ${data_instance}=$sp2_pkg@${sp2_addr:?}}
Olivier Deprez0b834092020-08-21 08:36:01 +020068${sp3_pkg+--data ${data_instance}=$sp3_pkg@${sp3_addr:?}}
Manish Pandey3c435582020-07-15 12:14:26 +010069
Zelalemeb9c1bb2020-08-04 12:40:46 -050070${ns_bl1u_bin+--data ${data_instance}=$ns_bl1u_bin@$ns_bl1u_addr}
71${fwu_fip_bin+--data ${data_instance}=$fwu_fip_bin@$fwu_fip_addr}
72${backup_fip_bin+--data ${data_instance}=$backup_fip_bin@$backup_fip_addr}
Fathi Boudra422bf772019-12-02 11:10:16 +020073
74${flashloader1_bin+-C bp.flashloader1.fname=$flashloader1_bin}
75${rootfs_bin+-C bp.virtioblockdevice.image_path=$rootfs_bin}
76
77${uart0_out+-C bp.pl011_uart0.out_file=$uart0_out}
78${uart0_out+-C bp.pl011_uart0.unbuffered_output=1}
Zelalemeb9c1bb2020-08-04 12:40:46 -050079${uart1_out+-C bp.pl011_uart1.out_file=$uart1_out}
Fathi Boudra422bf772019-12-02 11:10:16 +020080
81${no_quantum--Q ${quantum}}
82
83EOF
Zelalemeb9c1bb2020-08-04 12:40:46 -050084
Ryan Harkinb12eb382020-12-16 10:53:02 +000085if echo "$JENKINS_URL" | grep -q -v "arm.com"; then
86 cat <<EOF >>"$model_param_file"
87-C bp.pl011_uart0.untimed_fifos=1
88-C bp.pl011_uart1.untimed_fifos=1
89-C bp.pl011_uart2.untimed_fifos=1
90-C bp.pl011_uart3.untimed_fifos=1
91
92-C bp.pl011_uart0.unbuffered_output=1
93-C bp.pl011_uart1.unbuffered_output=1
94-C bp.pl011_uart2.unbuffered_output=1
95-C bp.pl011_uart3.unbuffered_output=1
96
97-C bp.terminal_0.start_telnet=1
98-C bp.terminal_1.start_telnet=0
99-C bp.terminal_2.start_telnet=0
100-C bp.terminal_3.start_telnet=0
101EOF
102fi
103
Zelalemeb9c1bb2020-08-04 12:40:46 -0500104if [ "$print_stat" = "1" ]; then
105 cat <<EOF >>"$model_param_file"
106--stat
107EOF
108fi
Alexei Fedorovb7d8ca12020-12-18 17:08:08 +0000109
110# TFTF: When running in non-Jenkins environment,
111# shutdown simulation when EOT (ASCII 4) char is transmitted.
112if not_upon "$jenkins_run" && echo "$RUN_CONFIG" | grep -iq 'tftf'; then
113 cat <<EOF >>"$model_param_file"
114-C bp.pl011_uart0.shutdown_on_eot=1
115EOF
116fi