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