# crosvm does not support qemu-fw, therefore it cannot determine the number
# of onlined CPUs, generate an MPTABLE, or use table-loader to generate the
# SMBIOS/PIEQ/ACPI tables. Disable these features to boot Linux with SMP.
# CONFIG_GENERATE_ACPI_TABLE is not set
# CONFIG_GENERATE_MP_TABLE is not set
# CONFIG_GENERATE_PIRQ_TABLE is not set
# CONFIG_GENERATE_SMBIOS_TABLE is not set
# CONFIG_MAX_CPUS is not set
# CONFIG_SMP is not set

# crosvm does not implement the i440fx pch, which is defined in the qemu DT.
# Disable the drivers to avoid failing probes.
# CONFIG_X86_PCH7 is not set
# CONFIG_X86_PCH9 is not set

CONFIG_DEFAULT_FDT_FILE="qemu-x86_i440fx.dtb"
