zephyr/boards/native/native_sim/nsi_if.c

42 lines
737 B
C

/*
* Copyright (c) 2023 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <soc.h>
#include <posix_native_task.h>
#include <nsi_cpu_if.h>
void nsif_cpu0_pre_cmdline_hooks(void)
{
run_native_tasks(_NATIVE_PRE_BOOT_1_LEVEL);
}
void nsif_cpu0_pre_hw_init_hooks(void)
{
run_native_tasks(_NATIVE_PRE_BOOT_2_LEVEL);
}
void nsif_cpu0_boot(void)
{
run_native_tasks(_NATIVE_PRE_BOOT_3_LEVEL);
posix_boot_cpu();
run_native_tasks(_NATIVE_FIRST_SLEEP_LEVEL);
}
int nsif_cpu0_cleanup(void)
{
/*
* Note posix_soc_clean_up() may not return, but in that case,
* nsif_cpu0_cleanup() will be called again
*/
posix_soc_clean_up();
return 0;
}
void nsif_cpu0_irq_raised(void)
{
posix_interrupt_raised();
}