| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| sw_tests = {} |
| |
| subdir('dif') |
| subdir('sim_dv') |
| |
| aes_test_lib = declare_dependency( |
| link_with: static_library( |
| 'aes_test_lib', |
| sources: ['aes_test.c'], |
| dependencies: [ |
| sw_lib_aes, |
| sw_lib_base_log, |
| ], |
| ), |
| ) |
| |
| consecutive_irqs_test_lib = declare_dependency( |
| link_with: static_library( |
| 'consecutive_irqs_test_lib', |
| sources: ['consecutive_irqs_test.c'], |
| dependencies: [ |
| dif_uart, |
| dif_plic, |
| sw_lib_irq, |
| sw_lib_mmio, |
| sw_lib_base_log, |
| sw_lib_runtime_hart, |
| sw_lib_testing_test_status, |
| ], |
| ), |
| ) |
| |
| flash_ctrl_test_lib = declare_dependency( |
| link_with: static_library( |
| 'flash_ctrl_test_lib', |
| sources: ['flash_ctrl_test.c'], |
| dependencies: [ |
| sw_lib_mem, |
| sw_lib_mmio, |
| sw_lib_flash_ctrl, |
| sw_lib_base_log, |
| ], |
| ), |
| ) |
| |
| rv_timer_test_lib = declare_dependency( |
| link_with: static_library( |
| 'rv_timer_test_lib', |
| sources: ['rv_timer_test.c'], |
| dependencies: [ |
| sw_lib_irq, |
| sw_lib_pinmux, |
| sw_lib_rv_timer, |
| sw_lib_base_log, |
| sw_lib_dif_gpio, |
| ], |
| ), |
| ) |
| |
| sha256_test_lib = declare_dependency( |
| link_with: static_library( |
| 'sha256_test_lib', |
| sources: ['sha256_test.c'], |
| dependencies: [ |
| sw_lib_hmac, |
| sw_lib_flash_ctrl, |
| sw_lib_base_log, |
| ], |
| ), |
| ) |
| |
| sw_tests += { |
| 'aes_test': aes_test_lib, |
| 'consecutive_irqs_test': consecutive_irqs_test_lib, |
| 'flash_ctrl_test': flash_ctrl_test_lib, |
| 'rv_timer_test': rv_timer_test_lib, |
| 'sha256_test': sha256_test_lib, |
| } |
| |
| foreach sw_test_name, sw_test_lib : sw_tests |
| foreach device_name, device_lib : sw_lib_arch_core_devices |
| sw_test_elf = executable( |
| sw_test_name + '_' + device_name, |
| sources: ['main.c'], |
| name_suffix: 'elf', |
| dependencies: [ |
| riscv_crt, |
| device_lib, |
| sw_test_lib, |
| sw_lib_uart, |
| sw_lib_irq_handlers, |
| sw_lib_base_log, |
| sw_lib_base_print, |
| sw_lib_testing_test_status, |
| ], |
| ) |
| |
| sw_test_embedded = custom_target( |
| sw_test_name + '_' + device_name, |
| command: make_embedded_target, |
| input: sw_test_elf, |
| output: make_embedded_target_outputs, |
| build_by_default: true, |
| ) |
| |
| custom_target( |
| sw_test_name + '_export_' + device_name, |
| command: export_embedded_target, |
| input: [sw_test_elf, sw_test_embedded], |
| output: sw_test_name + '_export_' + device_name, |
| build_always_stale: true, |
| build_by_default: true, |
| ) |
| endforeach |
| endforeach |