if BOARD_EMULATION_QEMU_X86_I440FX

config BOARD_SPECIFIC_OPTIONS
	def_bool y
	select CPU_QEMU_X86
	select NO_ECAM_MMCONF_SUPPORT
	select SOUTHBRIDGE_INTEL_I82371EB
	select HAVE_OPTION_TABLE
	select HAVE_CMOS_DEFAULT
	select HAVE_PIRQ_TABLE
	select HAVE_ACPI_TABLES
	select BOARD_ROMSIZE_KB_4096 if !VBOOT
	select BOARD_ROMSIZE_KB_16384 if VBOOT
	select MAINBOARD_HAS_NATIVE_VGA_INIT
	select MAINBOARD_FORCE_NATIVE_VGA_INIT
	select HAVE_ASAN_IN_ROMSTAGE
	select NO_SMM
	select BOOT_DEVICE_NOT_SPI_FLASH
	select BOOT_DEVICE_MEMORY_MAPPED

config VBOOT
	select VBOOT_MUST_REQUEST_DISPLAY
	select VBOOT_STARTS_IN_BOOTBLOCK
	select VBOOT_VBNV_CMOS
	select GBB_FLAG_DISABLE_LID_SHUTDOWN
	select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
	select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
	select GBB_FLAG_DISABLE_FWMP

if ARCH_BOOTBLOCK_X86_64
# Need to install page tables in DRAM as the virtual MMU has problems translating paging
# request when the page table resides in emulated ROM. This causes undefined behaviour
# when handling data requests, as well as fetching and decoding instructions
# Real hardware didn't show any problems until now.
config ARCH_X86_64_PGTBL_LOC
	default 0x8000
endif

if VBOOT

config VBOOT_SLOTS_RW_A
	default y

endif

config FMDFILE
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/vboot-rwa-16M.fmd" if VBOOT_SLOTS_RW_A

config VBOOT_VBNV_OFFSET
	hex
	default 0x2c

config MAINBOARD_DIR
	default "emulation/qemu-i440fx"

config MAINBOARD_PART_NUMBER
	default "QEMU x86 i440fx/piix4"

config IRQ_SLOT_COUNT
	int
	default 6

# Skip the first 64KiB as coreboot table pointer is installed
# at address 0
config DCACHE_RAM_BASE
	hex
	default 0x10000

# Memory at 0xa0000 decodes to VGA
config DCACHE_RAM_SIZE
	hex
	default 0x90000

config C_ENV_BOOTBLOCK_SIZE
	hex
	default 0x10000

config DCACHE_BSP_STACK_SIZE
	hex
	default 0x4000

endif # BOARD_EMULATION_QEMU_X86_I440FX