[Concept,09/12] x86: Add qemu-x86_64_nospl defconfig
Commit Message
From: Simon Glass <simon.glass@canonical.com>
Add a defconfig for QEMU x86_64 that builds a single 64-bit
binary with integrated 16-bit and 32-bit startup code, removing
the need for SPL.
The existing SPL-based qemu-x86_64 build is unaffected.
Co-developed-by: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
---
board/emulation/qemu-x86/MAINTAINERS | 1 +
configs/qemu-x86_64_nospl_defconfig | 82 ++++++++++++++++++++++++++++
2 files changed, 83 insertions(+)
create mode 100644 configs/qemu-x86_64_nospl_defconfig
@@ -11,3 +11,4 @@ S: Maintained
F: board/emulation/qemu-x86/
F: board/emulation/common/
F: configs/qemu-x86_64_defconfig
+F: configs/qemu-x86_64_nospl_defconfig
new file mode 100644
@@ -0,0 +1,82 @@
+CONFIG_X86=y
+CONFIG_TEXT_BASE=0xffc00000
+CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_BLOBLIST_SIZE_RELOC=0x40000
+CONFIG_NR_DRAM_BANKS=8
+CONFIG_ENV_SIZE=0x40000
+CONFIG_MAX_CPUS=2
+CONFIG_DEFAULT_DEVICE_TREE="qemu-x86_q35"
+CONFIG_DEBUG_UART_BASE=0x3f8
+CONFIG_DEBUG_UART_CLOCK=1843200
+CONFIG_X86_RUN_64BIT_NO_SPL=y
+CONFIG_DEBUG_UART=y
+CONFIG_UBOOT_ROMSIZE_KB_4096=y
+# CONFIG_HAVE_MICROCODE is not set
+CONFIG_SMP=y
+CONFIG_GENERATE_PIRQ_TABLE=y
+CONFIG_GENERATE_MP_TABLE=y
+CONFIG_TARGET_QEMU_X86_64=y
+CONFIG_FIT=y
+CONFIG_BOOTSTD_FULL=y
+CONFIG_BOOTSTAGE=y
+CONFIG_BOOTSTAGE_REPORT=y
+CONFIG_SHOW_BOOT_PROGRESS=y
+CONFIG_USE_BOOTARGS=y
+CONFIG_BOOTARGS="root=/dev/sdb3 init=/sbin/init rootwait ro"
+CONFIG_BOOTCOMMAND="bootfl scan -lb"
+CONFIG_CONSOLE_RECORD=y
+# CONFIG_CONSOLE_RECORD_INIT_F is not set
+CONFIG_SYS_CONSOLE_INFO_QUIET=y
+CONFIG_LOG=y
+CONFIG_LOGF_FUNC=y
+CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_PCI_INIT_R=y
+CONFIG_BLOBLIST_FIXED=y
+CONFIG_BLOBLIST_ADDR=0x10000
+CONFIG_CMD_CPU=y
+CONFIG_CMD_BOOTEFI_SELFTEST=y
+CONFIG_CMD_NVEDIT_EFI=y
+CONFIG_CMD_MEM_SEARCH=y
+CONFIG_CMD_IDE=y
+CONFIG_CMD_SPI=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_CAT=y
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_BOOTP_BOOTFILESIZE=y
+CONFIG_CMD_EFIDEBUG=y
+CONFIG_CMD_TIME=y
+CONFIG_CMD_BOOTSTAGE=y
+CONFIG_CMD_EXT4_WRITE=y
+CONFIG_ENV_OVERWRITE=y
+CONFIG_ENV_IS_IN_FAT=y
+CONFIG_ENV_FAT_INTERFACE="virtio"
+CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_BOOTFILE=y
+CONFIG_BOOTFILE="bzImage"
+CONFIG_TFTP_TSIZE=y
+CONFIG_USE_ROOTPATH=y
+CONFIG_REGMAP=y
+CONFIG_SYSCON=y
+CONFIG_SYS_IDE_MAXDEVICE=4
+CONFIG_SYS_ATA_DATA_OFFSET=0
+CONFIG_SYS_ATA_REG_OFFSET=0
+CONFIG_SYS_ATA_ALT_OFFSET=0
+CONFIG_ATAPI=y
+CONFIG_LBA48=y
+CONFIG_SYS_64BIT_LBA=y
+CONFIG_CPU=y
+CONFIG_NVME_PCI=y
+CONFIG_DM_RNG=y
+CONFIG_SYS_NS16550_PORT_MAPPED=y
+CONFIG_SPI=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_KEYBOARD=y
+CONFIG_CONSOLE_TRUETYPE=y
+CONFIG_VIDEO_BOCHS=y
+# CONFIG_VIDEO_VESA is not set
+CONFIG_CONSOLE_SCROLL_LINES=5
+CONFIG_GENERATE_ACPI_TABLE=y
+CONFIG_CMD_DHRYSTONE=y
+# CONFIG_GZIP is not set
+CONFIG_UNIT_TEST=y