blob: c9a026d0f21985b40898d6a4be7126eb3470ac75 [file] [log] [blame]
{#------------------------------------------------------------------------------
# Copyright (c) 2024, 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:
{% for name, img in binaries.items() %}
{{ name }}:
url: {{ data_url_prefix }}/{{ img.data }}
{% endfor %}
{%- if enable_code_coverage %}
cc:
url: {{ coverage_trace_plugin }}
{%- endif %}
- boot:
failure_retry: 3
namespace: docker
method: fvp
docker:
name: {{ docker_prefix }}/fvp:fvp_corstone_sse-315_11.24_22_linux64
local: true
prompts:
- 'root@lava '
image: /opt/model/FVP_Corstone_SSE-315/models/Linux64_GCC-9.3/FVP_Corstone_SSE-315
timeout:
minutes: 5
console_string: 'telnetterminal0: Listening for serial connection on port (?P<PORT>\d+)'
license_variable: '{{ license_variable }}'
use_telnet: False
arguments:
- "--simlimit 900"
{% for name, img in binaries.items() %}
- "--data {{ '{' ~ name.upper() ~ '}' }}@{{ img.offset }}"
{% endfor %}
- "--parameter mps4_board.subsystem.cpu0.semihosting-enable=0"
- "--parameter mps4_board.DISABLE_GATING=0"
- "--parameter mps4_board.telnetterminal0.start_telnet=1"
- "--parameter mps4_board.telnetterminal1.start_telnet=1"
- "--parameter mps4_board.telnetterminal2.start_telnet=1"
- "--parameter mps4_board.telnetterminal0.quiet=0"
- "--parameter mps4_board.telnetterminal1.quiet=0"
- "--parameter mps4_board.telnetterminal2.quiet=0"
- "--parameter mps4_board.uart0.shutdown_on_eot=1"
- "--parameter 'mps4_board.uart0.out_file=-'"
- "--parameter mps4_board.visualisation.disable-visualisation=1"
{%- if enable_code_coverage %}
- "--plugin {CC}"
- "--parameter mps4_board.uart0.shutdown_tag=\x04"
- "--cpulimit 240"
{%- 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 %}
{%- 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_Corstone_SSE-315.cpu1']
script:
- name: fvp_trace_end_1
command:
{%- endif %}
{% endblock %}