boards nrf_bsim: Add MCU number to traces

When we have more than 1 MCU, add the MCU number to the traces
so we can identify from which MCU they come from.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This commit is contained in:
Alberto Escolar Piedras 2023-09-14 17:25:43 +02:00 committed by Johan Hedberg
commit d116a06a92
2 changed files with 17 additions and 9 deletions

View file

@ -23,6 +23,7 @@ zephyr_library_sources(
soc/nrfx_coredep.c
common/bstests_entry.c
common/cmsis/cmsis.c
common/trace_hook.c
)
target_sources(native_simulator INTERFACE

View file

@ -3,7 +3,6 @@
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdio.h>
#include <stdarg.h>
#include "bs_tracing.h"
@ -14,21 +13,29 @@
* is down.
*/
#if (CONFIG_NATIVE_SIMULATOR_NUMBER_MCUS > 1)
static const char *cpu_prefix = "CPU";
static const unsigned int cpu_number = CONFIG_NATIVE_SIMULATOR_MCU_N;
#else
static const char *cpu_prefix;
static const unsigned int cpu_number;
#endif /* (CONFIG_NATIVE_SIMULATOR_NUMBER_MCUS > 1) */
void posix_vprint_error_and_exit(const char *format, va_list vargs)
{
bs_trace_vprint(BS_TRACE_ERROR, NULL, 0, 0, BS_TRACE_AUTOTIME, 0,
bs_trace_vprint(BS_TRACE_ERROR, cpu_prefix, cpu_number, 0, BS_TRACE_AUTOTIME, 0,
format, vargs);
}
void posix_vprint_warning(const char *format, va_list vargs)
{
bs_trace_vprint(BS_TRACE_WARNING, NULL, 0, 0, BS_TRACE_AUTOTIME, 0,
bs_trace_vprint(BS_TRACE_WARNING, cpu_prefix, cpu_number, 0, BS_TRACE_AUTOTIME, 0,
format, vargs);
}
void posix_vprint_trace(const char *format, va_list vargs)
{
bs_trace_vprint(BS_TRACE_RAW, NULL, 0, 2, BS_TRACE_AUTOTIME, 0,
bs_trace_vprint(BS_TRACE_RAW, cpu_prefix, cpu_number, 2, BS_TRACE_AUTOTIME, 0,
format, vargs);
}
@ -46,7 +53,7 @@ void posix_print_warning(const char *format, ...)
va_list variable_argsp;
va_start(variable_argsp, format);
bs_trace_vprint(BS_TRACE_WARNING, NULL, 0, 0, BS_TRACE_AUTOTIME, 0,
bs_trace_vprint(BS_TRACE_WARNING, cpu_prefix, cpu_number, 0, BS_TRACE_AUTOTIME, 0,
format, variable_argsp);
va_end(variable_argsp);
}
@ -56,7 +63,7 @@ void posix_print_trace(const char *format, ...)
va_list variable_argsp;
va_start(variable_argsp, format);
bs_trace_vprint(BS_TRACE_RAW, NULL, 0, 2, BS_TRACE_AUTOTIME, 0,
bs_trace_vprint(BS_TRACE_RAW, cpu_prefix, cpu_number, 2, BS_TRACE_AUTOTIME, 0,
format, variable_argsp);
va_end(variable_argsp);
}
@ -68,18 +75,18 @@ int posix_trace_over_tty(int file_number)
void nsi_vprint_error_and_exit(const char *format, va_list vargs)
{
bs_trace_vprint(BS_TRACE_ERROR, NULL, 0, 0, BS_TRACE_AUTOTIME, 0,
bs_trace_vprint(BS_TRACE_ERROR, cpu_prefix, cpu_number, 0, BS_TRACE_AUTOTIME, 0,
format, vargs);
}
void nsi_vprint_warning(const char *format, va_list vargs)
{
bs_trace_vprint(BS_TRACE_WARNING, NULL, 0, 0, BS_TRACE_AUTOTIME, 0,
bs_trace_vprint(BS_TRACE_WARNING, cpu_prefix, cpu_number, 0, BS_TRACE_AUTOTIME, 0,
format, vargs);
}
void nsi_vprint_trace(const char *format, va_list vargs)
{
bs_trace_vprint(BS_TRACE_RAW, NULL, 0, 2, BS_TRACE_AUTOTIME, 0,
bs_trace_vprint(BS_TRACE_RAW, cpu_prefix, cpu_number, 2, BS_TRACE_AUTOTIME, 0,
format, vargs);
}