1# SPDX-License-Identifier: Apache-2.0
2
3if BOARD_QEMU_X86 || BOARD_QEMU_X86_64 || BOARD_QEMU_X86_LAKEMONT || BOARD_QEMU_X86_TINY
4
5# The EEPROM emulator must be initialized after the flash simulator
6config EEPROM_INIT_PRIORITY
7	default 60
8	depends on EEPROM
9
10config BUILD_OUTPUT_BIN
11	default n
12
13endif # BOARD_QEMU_X86 || BOARD_QEMU_X86_64 || BOARD_QEMU_X86_LAKEMONT || BOARD_QEMU_X86_TINY
14
15if BOARD_QEMU_X86
16
17config BOARD
18	default "qemu_x86"
19
20config FLASH_SIMULATOR
21	default y
22	depends on FLASH
23
24config KERNEL_VM_SIZE
25	default 0x10000000 if ACPI
26
27config MULTIBOOT
28	default y
29
30config MULTIBOOT_INFO
31	default y if MULTIBOOT
32
33config MULTIBOOT_MEMMAP
34	default y if MULTIBOOT
35
36config QEMU_ICOUNT
37	default n if HPET_TIMER && SHELL
38
39config QEMU_ICOUNT_SHIFT
40	default 5
41
42endif # BOARD_QEMU_X86
43
44if BOARD_QEMU_X86_64
45
46config BOARD
47	default "qemu_x86_64"
48
49config KERNEL_VM_SIZE
50	default 0x10000000 if ACPI
51
52endif # BOARD_QEMU_X86_64
53
54if BOARD_QEMU_X86_LAKEMONT
55
56config BOARD
57	default "qemu_x86_lakemont"
58
59config KERNEL_VM_SIZE
60	default 0x400000
61
62config MULTIBOOT
63	# This is needed for QEMU to load the ELF image
64	default y
65
66config X86_PC_COMPATIBLE
67	# QEMU presents a PC-compatible machine
68	default y
69
70config QEMU_ICOUNT
71	default n if HPET_TIMER && SHELL
72
73config QEMU_ICOUNT_SHIFT
74	default 5
75
76endif # BOARD_QEMU_X86_LAKEMONT
77
78if BOARD_QEMU_X86_TINY
79
80config BOARD
81	default "qemu_x86_tiny"
82
83config KERNEL_VM_SIZE
84	default 0x400000
85
86config MULTIBOOT
87	# This is needed for QEMU to load the ELF image
88	default y
89
90config X86_PC_COMPATIBLE
91	# QEMU presents a PC-compatible machine
92	default y
93
94config QEMU_ICOUNT
95	default n if HPET_TIMER && SHELL
96
97config QEMU_ICOUNT_SHIFT
98	default 5
99
100config HAVE_CUSTOM_LINKER_SCRIPT
101	default y
102
103config CUSTOM_LINKER_SCRIPT
104	default "${ZEPHYR_BASE}/boards/x86/qemu_x86/qemu_x86_tiny.ld"
105
106config X86_EXTRA_PAGE_TABLE_PAGES
107	# This is needed for gen_mmu.py to map the flash into memory
108	default 2 if DEMAND_PAGING && !LINKER_GENERIC_SECTIONS_PRESENT_AT_BOOT
109
110config DEMAND_PAGING_PAGE_FRAMES_RESERVE
111	# Need to accommodate the heap for newlib or common malloc in libc-hook.c
112	default 6 if NEWLIB_LIBC || (COMMON_LIBC_MALLOC && COMMON_LIBC_MALLOC_ARENA_SIZE != 0)
113
114endif # BOARD_QEMU_X86_TINY
115