blob: d6506701ef20682612cf6439851e4e3fc44dbf24 [file] [log] [blame]
{#------------------------------------------------------------------------------
# Copyright (c) 2018-2022, Arm Limited and Contributors. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
#-----------------------------------------------------------------------------#}
{% extends 'jinja2_templates/base.jinja2' %}
{% block metadata %}
{{ super() }}
{% endblock %}
{% block base %}
{{ super() }}
{% endblock %}
{% block actions %}
context:
kernel_start_message: ''
actions:
- deploy:
namespace: docker
to: fvp
images:
app:
url: {{ application_url }}
data:
url: {{ data_url }}
{%- if enable_code_coverage %}
cc:
url: {{ coverage_trace_plugin }}
{%- endif %}
- boot:
failure_retry: 3
namespace: docker
method: fvp
docker:
name: {{ docker_prefix }}/fvp:fvp_arm_std_library_11.22_14
local: true
prompts:
- 'root@lava '
{%- if enable_code_coverage %}
image: /usr/bin/stdout-flush-wrapper.sh
{%- else %}
image: /opt/model/FVP_ARM_Std_Library/FVP_MPS2/FVP_MPS2_AEMv8M
{%- endif %}
timeout:
minutes: 10
{%- if psa_api_suite == "IPC" %}
console_string: 'telnetterminal2: Listening for serial connection on port (?P<PORT>\d+)'
use_telnet: True
{%- else %}
console_string: 'telnetterminal0: Listening for serial connection on port (?P<PORT>\d+)'
use_telnet: False
{%- endif %}
license_variable: '{{ license_variable }}'
arguments:
{%- if enable_code_coverage %}
- "/opt/model/FVP_ARM_Std_Library/FVP_MPS2/FVP_MPS2_AEMv8M"
{%- endif %}
- "--simlimit 900"
- "--application cpu0={APP}"
- "--data cpu0={DATA}@{{ data_bin_offset }}"
- "--parameter fvp_mps2.platform_type=2"
- "--parameter cpu0.baseline={{ cpu0_baseline }}"
- "--parameter cpu0.INITVTOR_S={{ cpu0_initvtor_s }}"
- "--parameter cpu0.semihosting-enable=0"
- "--parameter fvp_mps2.DISABLE_GATING=0"
- "--parameter fvp_mps2.telnetterminal0.start_telnet=1"
- "--parameter fvp_mps2.telnetterminal1.start_telnet=1"
- "--parameter fvp_mps2.telnetterminal2.start_telnet=1"
- "--parameter fvp_mps2.telnetterminal0.quiet=0"
- "--parameter fvp_mps2.telnetterminal1.quiet=0"
- "--parameter fvp_mps2.telnetterminal2.quiet=0"
- "--parameter fvp_mps2.UART0.shutdown_on_eot=1"
- "--parameter 'fvp_mps2.UART0.out_file=-'"
- "--parameter fvp_mps2.mps2_visualisation.disable-visualisation=1"
{%- if enable_code_coverage %}
- "--plugin {CC}"
- "--parameter fvp_mps2.UART0.shutdown_tag=\x04"
- "--cpulimit 600"
{%- endif %}
prompts:
- '(.*)'
- test:
namespace: target
monitors:
{%- for monitor in monitors %}
- name: "{{monitor.name}}"
start: "{{monitor.start}}"
end: "{{monitor.end}}"
pattern: "{{monitor.pattern}}"
fixupdict:
'{{monitor.fixup.pass}}': pass
'{{monitor.fixup.fail}}': fail
{%- if monitor.fixup.skip %}
'{{monitor.fixup.skip}}': skip
{%- endif %}
{%- if monitor.fixup.sim_error %}
'{{monitor.fixup.sim_error}}': fail
{%- endif %}
{%- endfor %}
{%- if enable_code_coverage %}
- test:
namespace: target
interactive:
- name: fvp_stopped
prompts: ['/OSCI/SystemC: Simulation stopped by user.']
script:
- name: fvp_stopped_1
command:
- name: fvp_trace_end
prompts: ['Trace path: FVP_MPS2_AEMv8M.cpu1']
script:
- name: fvp_trace_end_1
command:
{%- endif %}
{% endblock %}