# SPDX-License-Identifier: Apache-2.0

if BOARD_QEMU_X86

config BUILD_OUTPUT_BIN
	default n

config BOARD
	default "qemu_x86"

config FLASH_SIMULATOR
	default y
	depends on FLASH

config KERNEL_VM_SIZE
	default 0x10000000 if ACPI

config MULTIBOOT
	default y

config MULTIBOOT_INFO
	default y if MULTIBOOT

config MULTIBOOT_MEMMAP
	default y if MULTIBOOT

config QEMU_ICOUNT
	default n if HPET_TIMER && SHELL

config QEMU_ICOUNT_SHIFT
	default 5

endif # BOARD_QEMU_X86

if BOARD_QEMU_X86_64

config BOARD
	default "qemu_x86_64"

config KERNEL_VM_SIZE
	default 0x10000000 if ACPI

endif # BOARD_QEMU_X86_64

if BOARD_QEMU_X86_LAKEMONT

config BUILD_OUTPUT_BIN
	default n

config BOARD
	default "qemu_x86_lakemont"

config KERNEL_VM_SIZE
	default 0x400000

config MULTIBOOT
	# This is needed for QEMU to load the ELF image
	default y

config X86_PC_COMPATIBLE
	# QEMU presents a PC-compatible machine
	default y

config QEMU_ICOUNT
	default n if HPET_TIMER && SHELL

config QEMU_ICOUNT_SHIFT
	default 5

config UART_NS16550_ACCESS_IOPORT
	default y if UART_NS16550

endif # BOARD_QEMU_X86_LAKEMONT

if BOARD_QEMU_X86_TINY

config BUILD_OUTPUT_BIN
	default n

config BOARD
	default "qemu_x86_tiny"

config KERNEL_VM_SIZE
	default 0x400000

config MULTIBOOT
	# This is needed for QEMU to load the ELF image
	default y

config X86_PC_COMPATIBLE
	# QEMU presents a PC-compatible machine
	default y

config QEMU_ICOUNT
	default n if HPET_TIMER && SHELL

config QEMU_ICOUNT_SHIFT
	default 5

config HAVE_CUSTOM_LINKER_SCRIPT
	default y

config CUSTOM_LINKER_SCRIPT
	default "${ZEPHYR_BASE}/boards/x86/qemu_x86/qemu_x86_tiny.ld"

config X86_EXTRA_PAGE_TABLE_PAGES
	# This is needed for gen_mmu.py to map the flash into memory
	default 2 if DEMAND_PAGING && !LINKER_GENERIC_SECTIONS_PRESENT_AT_BOOT

config DEMAND_PAGING_PAGE_FRAMES_RESERVE
	# Need to accommodate the heap for newlib in libc-hook.c
	default 6 if NEWLIB_LIBC

endif # BOARD_QEMU_X86_TINY
