# SPDX-License-Identifier: BSD-3-Clause

# This automatically adds a `qemu` make target if a compatible
# configuration is selected. There are some notable variables
# that can be set or adapted in `Makefile.inc` files, the make
# command line or the environment:
#
# Primarily for `Makefile.inc` use:
# QEMU-y		the QEMU executable
# QEMU_CFG-y		a QEMU config that sets the available default devices,
#			used to run more comprehensive tests by default,
#			e.g. many more PCI devices
#
# For general use:
# QEMU_ARGS		additional command line arguments (default: -serial stdio)
# QEMU_EXTRA_CFGS	additional config files that can add devices
#
# QEMU_CFG_ARGS		gathers config file related arguments,
#			can be used to override a default config (QEMU_CFG-y)
#
# Examples:
#
#   $ # Run coreboot's default config with additional command line args
#   $ make qemu QEMU_ARGS="-cdrom site-local/grml64-small_2018.12.iso"
#
#   $ # Force QEMU's built-in config
#   $ make qemu QEMU_CFG_ARGS=

QEMU-$(CONFIG_BOARD_EMULATION_QEMU_X86_I440FX)	?= qemu-system-x86_64 -M pc

QEMU-$(CONFIG_BOARD_EMULATION_QEMU_X86_Q35)	?= qemu-system-x86_64 -M q35
QEMU_CFG-$(CONFIG_BOARD_EMULATION_QEMU_X86_Q35)	?= util/qemu/q35-base.cfg

ifneq ($(QEMU-y),)

QEMU_ARGS ?= -serial stdio
QEMU_EXTRA_CFGS ?=

QEMU_CFG_ARGS ?= \
	$(if $(QEMU_CFG-y),-nodefaults) \
	$(addprefix -readconfig ,$(QEMU_CFG-y) $(QEMU_EXTRA_CFGS))

qemu: $(obj)/coreboot.rom
	$(QEMU-y) $(QEMU_CFG_ARGS) $(QEMU_ARGS) -bios $<

.PHONY: qemu

endif
