summaryrefslogtreecommitdiff
path: root/lava_helper/jinja2_templates/fvp_mps3.jinja2
blob: 744d84c5568b79e9e8d0ad5b05906e944e6f8a3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
{#------------------------------------------------------------------------------
# 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_corstone_sse-300_11.16_26
      local: true
    prompts:
    - 'root@lava '
    image: /opt/model/FVP_Corstone_SSE-300/models/Linux64_GCC-6.4/FVP_Corstone_SSE-300_Ethos-U55
    timeout:
      minutes: 5
    console_string: 'telnetterminal0: Listening for serial connection on port (?P<PORT>\d+)'
    license_variable: '{{ license_variable }}'
    use_telnet: False
    arguments:
    -  "--simlimit 600"
    -  "--application cpu0={APP}"
    -  "--data cpu0={DATA}@{{ data_bin_offset }}"
    -  "--parameter mps3_board.platform_type=1"
    -  "--parameter cpu0.INITSVTOR={{ cpu0_initvtor_s }}"
    -  "--parameter cpu0.semihosting-enable=0"
    -  "--parameter mps3_board.DISABLE_GATING=0"
    -  "--parameter mps3_board.telnetterminal0.start_telnet=1"
    -  "--parameter mps3_board.telnetterminal1.start_telnet=1"
    -  "--parameter mps3_board.telnetterminal2.start_telnet=1"
    -  "--parameter mps3_board.telnetterminal0.quiet=0"
    -  "--parameter mps3_board.telnetterminal1.quiet=0"
    -  "--parameter mps3_board.telnetterminal2.quiet=0"
    -  "--parameter mps3_board.uart0.shutdown_on_eot=1"
    -  "--parameter 'mps3_board.uart0.out_file=-'"
    -  "--parameter mps3_board.visualisation.disable-visualisation=1"
{%- if enable_code_coverage %}
    -  "--plugin {CC}"
    -  "--parameter mps3_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-300_Ethos-U55.cpu1']
      script:
      - name: fvp_trace_end_1
        command:
{%- endif %}

{% endblock %}