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 diff --git a/board/emulation/qemu-x86/MAINTAINERS b/board/emulation/qemu-x86/MAINTAINERS index efb8b46daaf..77482bc1e57 100644 --- a/board/emulation/qemu-x86/MAINTAINERS +++ b/board/emulation/qemu-x86/MAINTAINERS @@ -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 diff --git a/configs/qemu-x86_64_nospl_defconfig b/configs/qemu-x86_64_nospl_defconfig new file mode 100644 index 00000000000..4452b8c6e0a --- /dev/null +++ b/configs/qemu-x86_64_nospl_defconfig @@ -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 -- 2.43.0