[PATCH 00/38] x86: Use qemu-x86_64 to boot EFI installers
Simon Glass
sjg at chromium.org
Wed Apr 19 03:45:58 CEST 2023
Hi Bin,
On Thu, 30 Mar 2023 at 15:32, Simon Glass <sjg at chromium.org> wrote:
>
> This series adds various minor features so that qemu-x86_64 can boot the
> Ubuntu 2022.04 installer using a virtio device:
>
> qemu-system-x86_64 -M pc -drive format=raw,file=root.img
> -bios /tmp/b/qemu-x86_64/u-boot.rom
> -drive if=virtio,file=ubuntu-22.04.2-desktop-amd64.iso
> -smp 4 -m 4G -serial mon:stdio
>
> The main changes include:
> - Enable video in SPL while running in 32-bit mode
> - Drop the duplicate ACPI tables with EFI
> - Support PCI autoconfig in SPL
> - Support FAT on a CDROM filesystem
> - Improved bootstd rules around device tree and efi_set_bootdev()
>
> There are also quite a number of minor tweaks and fixes to make things
> easier to use.
>
> This series is based on an older version of the SPL-video series from
> Nikhil M Jain. It is available at u-boot-dm/bryc-working
>
>
> Simon Glass (38):
> x86: Tidy up availability of string functions
> x86: Allow listing MTRRs in SPL
> bios_emulator: Add Kconfig and adjust Makefile for SPL
> bios_emulator: Drop VIDEO_IO_OFFSET
> x86: Tidy up EFI code in interrupt_init()
> x86: Set high bits of the mtrr base registrer
> x86: Add a comment for board_init_f_r_trampoline()
> x86: Show the CPU physical address size with bdinfo
> x86: Correct get_sp() implementation for 64-bit
> x86: Show an error when a BINS exception occurs
> acpi: Add a comment to set the acpi tables
> bdinfo: Show the RAM top and approximate stack pointer
> part: Allow setting the partition-table type
> qfw: Show the file address if available
> log: Tidy up an ambiguous comment.
> video: Allow building video drivers for SPL
> qfw: Set the address of the ACPI tables
> efi: Show all known UUIDs with CONFIG_CMD_EFIDEBUG
> x86: Improve the trampoline in 64-bit mode
> Show the malloc base with the bdinfo command
> nvme: Provide more useful debugging messages
> pci: Support autoconfig in SPL
> pci: Allow the video BIOS to work in SPL with QEMU
> pci: Tidy up logging and reporting for video BIOS
> x86: Allow video-BIOS code to be built for SPL
> x86: Pass video settings from SPL to U-Boot proper
> x86: Init video in SPL if enabled
> pci: Adjust video BIOS debugging to be SPL-friendly
> pci: Mask the ROM address in case it is already enabled
> x86: Enable display for QEMU 64-bit
> x86: Allow logging to be used in SPL reliably
> fs: fat: Shrink the size of a few strings
> fs: fat: Support reading from a larger block size
> x86: Enable useful options for qemu-86_64
> x86: Record the start and end of the tables
> sandbox: Correct header order in board file
> sandbox: Install ACPI tables on startup
> efi: Use the installed ACPI tables
>
> arch/sandbox/include/asm/global_data.h | 4 +
> arch/x86/cpu/i386/interrupt.c | 17 +--
> arch/x86/cpu/mtrr.c | 62 +++++++-
> arch/x86/cpu/start64.S | 19 +++
> arch/x86/include/asm/global_data.h | 4 +
> arch/x86/include/asm/mtrr.h | 20 +++
> arch/x86/include/asm/string.h | 6 +-
> arch/x86/include/asm/u-boot-x86.h | 21 ++-
> arch/x86/lib/Makefile | 9 +-
> arch/x86/lib/bdinfo.c | 5 +
> arch/x86/lib/bios.c | 5 +-
> arch/x86/lib/bootm.c | 2 +-
> arch/x86/lib/spl.c | 26 +++-
> arch/x86/lib/tables.c | 4 +-
> board/google/Kconfig | 7 -
> board/sandbox/sandbox.c | 22 ++-
> cmd/Kconfig | 8 ++
> cmd/acpi.c | 24 +++-
> cmd/bdinfo.c | 6 +
> cmd/part.c | 34 +++++
> cmd/qfw.c | 2 +-
> cmd/x86/mtrr.c | 60 +-------
> common/board_f.c | 12 +-
> common/board_r.c | 7 +-
> common/log.c | 2 +-
> configs/qemu-x86_64_defconfig | 14 ++
> disk/part.c | 16 +++
> doc/usage/cmd/acpi.rst | 29 +++-
> doc/usage/cmd/part.rst | 74 ++++++++++
> doc/usage/cmd/qfw.rst | 28 ++--
> drivers/Kconfig | 2 +
> drivers/Makefile | 5 +-
> drivers/bios_emulator/Kconfig | 10 ++
> drivers/bios_emulator/biosemui.h | 18 +--
> drivers/bios_emulator/x86emu/sys.c | 1 +
> drivers/misc/qfw.c | 12 ++
> drivers/nvme/nvme.c | 36 +++--
> drivers/pci/Kconfig | 8 ++
> drivers/pci/pci-uclass.c | 10 +-
> drivers/pci/pci_rom.c | 165 +++++++++++++++++-----
> fs/fat/Kconfig | 13 ++
> fs/fat/fat.c | 117 ++++++++++++---
> fs/fat/fat_write.c | 22 ++-
> include/asm-generic/global_data.h | 11 ++
> include/bloblist.h | 1 +
> include/configs/conga-qeval20-qa3-e3845.h | 2 -
> include/configs/dfi-bt700.h | 2 -
> include/configs/minnowmax.h | 2 -
> include/configs/som-db5800-som-6867.h | 2 -
> include/configs/theadorable-x86-common.h | 2 -
> include/configs/x86-chromebook.h | 2 -
> include/part.h | 9 ++
> include/pci_ids.h | 1 +
> include/video.h | 24 ++++
> lib/efi_loader/efi_acpi.c | 33 +++--
> lib/uuid.c | 2 +-
> test/dm/acpi.c | 38 +++++
> 57 files changed, 866 insertions(+), 233 deletions(-)
> create mode 100644 drivers/bios_emulator/Kconfig
>
> --
> 2.40.0.348.gf938b09366-goog
>
Any thoughts on this series, please? I have some comments from
Heinrich so will respin this, but would like to check first if there
is anything else?
Regards,
Simon
More information about the U-Boot
mailing list