[PATCH v5 00/20] x86: efi: Fixes and improvements for coreboot

Simon Glass sjg at chromium.org
Wed Sep 20 05:00:01 CEST 2023


This little series fixes various bugs and annoyances in coreboot and
coreboot64.

With this both coreboot and coreboot64 start up and work reasonably well
on Brya (x86 Chromebook) and U-Boot can boot common Linux distros.

- Make coreboot64 debug UART start reliably
- Avoid the long USB-init delay on startup
- Correct the timer speed on coreboo64
- Fix a bootstd cros bug (will likely be squashed into another patch)
- Fix the terribly slow console scrolling

With v2 I have also brought in some lost x86 patches so they are all in
one series.

Changes in v5:
- Use 'lzma' instead of 'LZMA'
- Drop unwanted space
- Correct 'teechnique' typo in commit message
- Make use of the uSE_PREBOOT mechanism

Changes in v4:
- Fix arm and riscv
- Rewrite this to use events instead

Changes in v3:
- Allow SMBIOS if EFI_LOADER is enabled
- Reword the help
- Use log_debug() to show the message
- Squash in the next patch

Changes in v2:
- Update the malloc size too
- Add new patch
- Add new patch
- Add new patch
- Add new patch
- Add new patch
- Add new patch
- Add new patch
- Add new patch
- Add new patch

Simon Glass (20):
  x86: coreboot: Add IDE and SATA
  x86: coreboot: Enable standard boot
  x86: coreboot: Rearrange arch_cpu_init()
  x86: Set the CPU vendor in SPL
  x86: Allow APCI in SPL
  x86: coreboot: Look for DBG2 UART in SPL too
  x86: coreboot: Enable CONFIG_SYS_NS16550_MEM32
  x86: coreboot: Drop USB init on startup
  x86: coreboot: Align options between coreboot and coreboot64
  x86: coreboot: Enable VIDEO_COPY
  efi: x86: Correct the condition for installing ACPI tables
  x86: smbios: Add a Kconfig indicating SMBIOS-table presence
  bootstd: Keep track of use of usb stop
  Record the position of the SMBIOS tables
  efi: Use the installed SMBIOS tables
  x86: coreboot: Record the position of the SMBIOS tables
  x86: doc: Move into its own directory
  x86: doc: Update summaries and add links
  x86: doc: Split out manual booting into its own file
  x86: doc: coreboot: Mention 64-bit Linux distros

 arch/arm/include/asm/global_data.h     |   3 +
 arch/riscv/include/asm/global_data.h   |   3 +
 arch/sandbox/include/asm/global_data.h |   1 +
 arch/x86/cpu/coreboot/Kconfig          |   1 +
 arch/x86/cpu/coreboot/coreboot.c       |  16 +-
 arch/x86/cpu/x86_64/cpu.c              |   7 +
 arch/x86/dts/coreboot.dts              |   1 +
 arch/x86/include/asm/global_data.h     |   1 +
 arch/x86/lib/coreboot/cb_sysinfo.c     |   1 +
 arch/x86/lib/tables.c                  |   3 +
 boot/bootdev-uclass.c                  |  27 +++
 configs/coreboot64_defconfig           |  25 ++-
 configs/coreboot_defconfig             |  21 +-
 doc/arch/index.rst                     |   2 +-
 doc/arch/x86/index.rst                 |  12 +
 doc/arch/x86/manual_boot.rst           | 276 +++++++++++++++++++++++
 doc/arch/{ => x86}/x86.rst             | 295 ++-----------------------
 doc/board/coreboot/coreboot.rst        |  38 +++-
 drivers/serial/Kconfig                 |   2 +-
 drivers/usb/host/usb-uclass.c          |   8 +
 drivers/video/coreboot.c               |  12 +
 include/asm-generic/global_data.h      |   8 +
 include/bootdev.h                      |   9 +
 lib/Kconfig                            |  24 +-
 lib/efi_loader/Makefile                |   4 +-
 lib/efi_loader/efi_setup.c             |  20 +-
 lib/efi_loader/efi_smbios.c            |  72 +++---
 test/py/tests/test_event_dump.py       |   1 +
 28 files changed, 543 insertions(+), 350 deletions(-)
 create mode 100644 doc/arch/x86/index.rst
 create mode 100644 doc/arch/x86/manual_boot.rst
 rename doc/arch/{ => x86}/x86.rst (64%)

-- 
2.42.0.459.ge4e396fd5e-goog



More information about the U-Boot mailing list