1# SPDX-License-Identifier: Apache-2.0
2
3config BOARD_DEPRECATED_RELEASE
4	string
5	help
6	  This hidden option is set in the board configuration and indicates
7	  the Zephyr release that the board configuration will be removed.
8	  When set, any build for that board will generate a clearly visible
9	  deprecation warning.
10
11config QEMU_TARGET
12	bool
13	help
14	  Mark all QEMU targets with this variable for checking whether we are
15	  running in an emulated environment.
16
17config NET_DRIVERS
18	bool
19	default y if QEMU_TARGET && NETWORKING
20	help
21	  When building for a qemu target then NET_DRIVERS will be default
22	  enabled to allow for easy use of SLIP or PPP
23
24# Note: $BOARD_DIR might be a glob pattern
25
26choice
27	prompt "Board Selection"
28
29source "$(BOARD_DIR)/Kconfig.board"
30
31endchoice
32
33# Parse shields references
34# Don't do it as a menuconfig, as shield selection is a CMake feature.
35# This loads custom shields Kconfig (from BOARD_ROOT)
36osource "$(KCONFIG_BINARY_DIR)/Kconfig.shield"
37# This loads Zephyr base shield defconfigs
38rsource "shields/*/Kconfig.shield"
39
40menu "Board Options"
41config QEMU_ICOUNT
42	bool "QEMU icount mode"
43	depends on QEMU_TARGET
44	default y if !NETWORKING && !BT
45	help
46	  Enable QEMU virtual instruction counter. The virtual cpu will
47	  execute one instruction every 2^N ns of virtual time. This will
48	  give deterministic execution times from the guest point of view.
49
50config QEMU_ICOUNT_SHIFT
51	int "QEMU icount shift value"
52	depends on QEMU_ICOUNT
53	help
54	  The virtual CPU will execute one instruction every 2^N nanoseconds
55	  of virtual time, where N is the value provided here.
56
57config QEMU_IVSHMEM_PLAIN_MEM_SIZE
58	int "QEMU ivshmem-plain shared memory size in mega-bytes"
59	default 1
60	depends on QEMU_TARGET && IVSHMEM && !IVSHMEM_DOORBELL
61	help
62	  This sets the size of the shared memory when using ivshmem-plain
63	  device in Qemu. Note that it's in mega-bytes, so 1 means 1M for Qemu
64	  etc..
65
66config QEMU_UEFI_BOOT
67	bool "QEMU uses UEFI to boot up"
68	default n
69	depends on BUILD_OUTPUT_EFI && QEMU_TARGET && X86_64
70	help
71	  This option indicates that QEMU will use UEFI bootable method
72	  to boot up.
73
74# There might not be any board options, hence the optional source
75osource "$(BOARD_DIR)/Kconfig"
76endmenu
77
78config BOARD_HAS_TIMING_FUNCTIONS
79	bool
80	help
81	  Should be selected if board provides custom method for retrieving
82	  timestamps and cycle count.
83