1# Copyright (c) 2023 Nordic Semiconductor ASA
2# SPDX-License-Identifier: Apache-2.0
3
4config BOARD_NATIVE_SIM
5	bool
6	select POSIX_ARCH_CONSOLE
7	select NATIVE_LIBRARY
8	select NATIVE_SIM_TIMER
9	select 64BIT if BOARD_NATIVE_SIM_NATIVE_64
10	imply BOARD_NATIVE_POSIX if NATIVE_SIM_NATIVE_POSIX_COMPAT
11	help
12	  Native simulator (Single Core)
13	  Will produce a console Linux process which can be executed natively.
14
15if BOARD_NATIVE_SIM
16
17comment "Native Simular (Single Core) options"
18
19config NATIVE_SIM_NATIVE_POSIX_COMPAT
20	bool "Pretend to be a native_posix board"
21	select DEPRECATED
22	help
23	  When this option is set the native_sim board will pretend to be
24	  a native_posix board from kconfig point of view, to allow using it directly with
25	  code which was meant for the native_posix board and checks for the macro
26	  CONFIG_BOARD_NATIVE_POSIX, or requires other kconfig options which depend on it.
27	  This option is deprecated and will be removed in Zephyr v4.3
28
29config NATIVE_SIM_SLOWDOWN_TO_REAL_TIME
30	bool "Slow down execution to real time"
31	default n if ARCH_POSIX_LIBFUZZER
32	default y if BT_USERCHAN || !TEST
33	help
34	  When selected the execution of the process will be slowed down to real time.
35	  (if there is a lot of load it may be slower than real time)
36	  If deselected, the process will run as fast as possible.
37	  Note that this only decouples simulated time from real/wall time. In either
38	  case the zephyr kernel and application cannot tell the difference unless they
39	  interact with some other driver/device which runs at real time.
40
41# This option definition exists only to enable NATIVE_SIM_NATIVE_POSIX_COMPAT
42config BOARD_NATIVE_POSIX
43	bool
44
45config NATIVE_POSIX_SLOWDOWN_TO_REAL_TIME
46	bool "Slow down execution to real time (native_posix compat)"
47	select NATIVE_SIM_SLOWDOWN_TO_REAL_TIME
48	select DEPRECATED
49	help
50	  Transitional option which allows applications which targeted native_posix
51	  to set the correct native_sim option (CONFIG_NATIVE_SIM_SLOWDOWN_TO_REAL_TIME)
52
53source "boards/native/common/sdl/Kconfig"
54source "boards/native/common/extra_args/Kconfig"
55
56endif # BOARD_NATIVE_SIM
57