Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 1 | # |
Alexei Fedorov | b7d8ca1 | 2020-12-18 17:08:08 +0000 | [diff] [blame] | 2 | # Copyright (c) 2019-2021, Arm Limited. All rights reserved. |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 3 | # |
| 4 | # SPDX-License-Identifier: BSD-3-Clause |
| 5 | # |
| 6 | |
| 7 | # This file contains common model controls and parameters across *ALL* FVP |
| 8 | # models. |
| 9 | |
| 10 | default_var pctl_startup 0.0.0.0 |
| 11 | default_var quantum 1000 |
Zelalem | eb9c1bb | 2020-08-04 12:40:46 -0500 | [diff] [blame] | 12 | default_var data_instance cluster0.cpu0 |
| 13 | default_var cache_state_modelled 1 |
| 14 | default_var print_stat 1 |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 15 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 16 | reset_var has_bl1 |
| 17 | reset_var has_fip |
| 18 | reset_var preload_bl33 |
| 19 | reset_var reset_to_bl31 |
| 20 | reset_var reset_to_spmin |
| 21 | reset_var secure_memory |
| 22 | reset_var secure_ram_fill |
Javier Almansa Sobrino | e836318 | 2020-11-10 16:40:53 +0000 | [diff] [blame] | 23 | reset_var wait_debugger |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 24 | |
| 25 | |
| 26 | if [ "$bl2_at_el3" ]; then |
| 27 | has_fip=1 |
Manish V Badarkhe | ea3e094 | 2021-03-05 11:51:48 +0000 | [diff] [blame] | 28 | elif [ "$fip_as_gpt" ]; then |
| 29 | has_bl1=1 |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 30 | elif [ -z "$reset_to_spmin" -a -z "$reset_to_bl31" ]; then |
| 31 | has_bl1=1 |
| 32 | has_fip=1 |
| 33 | fi |
| 34 | |
| 35 | cat <<EOF >"$model_param_file" |
| 36 | |
| 37 | -C bp.ve_sysregs.exit_on_shutdown=1 |
| 38 | -C pctl.startup=$pctl_startup |
| 39 | |
Javier Almansa Sobrino | e836318 | 2020-11-10 16:40:53 +0000 | [diff] [blame] | 40 | ${wait_debugger+-S} |
| 41 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 42 | ${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 | |
Zelalem | eb9c1bb | 2020-08-04 12:40:46 -0500 | [diff] [blame] | 48 | ${bl2_at_el3+--data ${data_instance}=$bl2_bin@${bl2_addr:?}} |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 49 | |
Zelalem | eb9c1bb | 2020-08-04 12:40:46 -0500 | [diff] [blame] | 50 | ${reset_to_bl31+--data ${data_instance}=$bl31_bin@${bl31_addr:?}} |
| 51 | ${preload_bl33+--data ${data_instance}=$preload_bl33_bin@${bl33_addr:?}} |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 52 | |
Zelalem | eb9c1bb | 2020-08-04 12:40:46 -0500 | [diff] [blame] | 53 | ${reset_to_spmin+--data ${data_instance}=$bl32_bin@${bl32_addr:?}} |
| 54 | ${reset_to_spmin+--data ${data_instance}=$uboot_bin@${bl33_addr:?}} |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 55 | |
Zelalem | eb9c1bb | 2020-08-04 12:40:46 -0500 | [diff] [blame] | 56 | ${memprotect+--data ${data_instance}=$memprotect@${memprotect_addr:?}} |
| 57 | ${romlib_bin+--data ${data_instance}=$romlib_bin@${romlib_addr:?}} |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 58 | |
| 59 | ${has_bl1+-C bp.secureflashloader.fname=$bl1_bin} |
| 60 | ${has_fip+-C bp.flashloader0.fname=$fip_bin} |
Manish V Badarkhe | ea3e094 | 2021-03-05 11:51:48 +0000 | [diff] [blame] | 61 | ${fip_as_gpt+-C bp.flashloader0.fname=$fip_gpt_bin} |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 62 | |
Zelalem | eb9c1bb | 2020-08-04 12:40:46 -0500 | [diff] [blame] | 63 | ${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 Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 66 | |
Manish Pandey | 3c43558 | 2020-07-15 12:14:26 +0100 | [diff] [blame] | 67 | ${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 Deprez | 0b83409 | 2020-08-21 08:36:01 +0200 | [diff] [blame] | 71 | ${sp3_pkg+--data ${data_instance}=$sp3_pkg@${sp3_addr:?}} |
Olivier Deprez | dd9ed33 | 2021-07-02 12:07:17 +0200 | [diff] [blame] | 72 | ${sp4_pkg+--data ${data_instance}=$sp4_pkg@${sp4_addr:?}} |
Manish Pandey | 3c43558 | 2020-07-15 12:14:26 +0100 | [diff] [blame] | 73 | |
Zelalem | eb9c1bb | 2020-08-04 12:40:46 -0500 | [diff] [blame] | 74 | ${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 Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 77 | |
| 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} |
Zelalem | eb9c1bb | 2020-08-04 12:40:46 -0500 | [diff] [blame] | 83 | ${uart1_out+-C bp.pl011_uart1.out_file=$uart1_out} |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 84 | |
| 85 | ${no_quantum--Q ${quantum}} |
| 86 | |
| 87 | EOF |
Zelalem | eb9c1bb | 2020-08-04 12:40:46 -0500 | [diff] [blame] | 88 | |
Leonardo Sandoval | ce3783b | 2021-03-05 12:04:02 -0600 | [diff] [blame] | 89 | # OpenCI uses LAVA to launch models, the latter requiring (uart) unbuffered output, |
| 90 | # otherwise these may get full and models hang. |
Madhukar Pappireddy | 21a5e67 | 2021-03-08 17:49:45 -0600 | [diff] [blame] | 91 | if ! is_arm_jenkins_env && not_upon "$local_ci"; then |
Ryan Harkin | b12eb38 | 2020-12-16 10:53:02 +0000 | [diff] [blame] | 92 | cat <<EOF >>"$model_param_file" |
Ryan Harkin | b12eb38 | 2020-12-16 10:53:02 +0000 | [diff] [blame] | 93 | -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 Harkin | b12eb38 | 2020-12-16 10:53:02 +0000 | [diff] [blame] | 97 | EOF |
| 98 | fi |
| 99 | |
Zelalem | eb9c1bb | 2020-08-04 12:40:46 -0500 | [diff] [blame] | 100 | if [ "$print_stat" = "1" ]; then |
| 101 | cat <<EOF >>"$model_param_file" |
| 102 | --stat |
| 103 | EOF |
| 104 | fi |
Alexei Fedorov | b7d8ca1 | 2020-12-18 17:08:08 +0000 | [diff] [blame] | 105 | |
Leonardo Sandoval | 4b29772 | 2021-05-27 18:00:37 -0500 | [diff] [blame] | 106 | # 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 |
| 111 | if echo "$RUN_CONFIG" | grep -iq 'tftf'; then |
| 112 | if ! is_arm_jenkins_env || upon "$local_ci"; then |
Alexei Fedorov | b7d8ca1 | 2020-12-18 17:08:08 +0000 | [diff] [blame] | 113 | cat <<EOF >>"$model_param_file" |
| 114 | -C bp.pl011_uart0.shutdown_on_eot=1 |
| 115 | EOF |
Leonardo Sandoval | 4b29772 | 2021-05-27 18:00:37 -0500 | [diff] [blame] | 116 | fi |
Alexei Fedorov | b7d8ca1 | 2020-12-18 17:08:08 +0000 | [diff] [blame] | 117 | fi |