From patchwork Fri May 1 03:21:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 244682 List-Id: U-Boot discussion From: sjg at chromium.org (Simon Glass) Date: Thu, 30 Apr 2020 21:21:38 -0600 Subject: [PATCH v3 0/7] x86: efi: Add a 64-bit coreboot payload Message-ID: <20200501032145.110637-1-sjg@chromium.org> This series creates a new 64-bit 'coreboot64' build which can be launched from coreboot. It uses SPL to effect the jump to 64-bit mode. This was done in an attempt to get the Ubuntu FirmwareTestSuite[1] working. Unfortunately the latest version shows a splash screen and hangs, perhaps due to some missing EFI support. [1] https://wiki.ubuntu.com/FirmwareTestSuite Changes in v3: - Add new patch to make coreboot detection work in 64-bit code - Show bit width for all archs, use sizeof(void *) Changes in v2: - Add a new patch to indicate 32/64-bit in bdinfo Simon Glass (7): x86: Move coreboot-table detection to common 32/64-bit code x86: Allow building an SPL image for coreboot x86: Move work-around out of cpu_jump_to_64bit_uboot() x86: Update SPL for coreboot x86: coreboot: Allow building an SPL image x86: Add an indication of 32/64-bit to bdinfo x86: Add a 64-bit coreboot build Makefile | 6 ++++ arch/x86/cpu/Makefile | 4 ++- arch/x86/cpu/coreboot/Kconfig | 1 + arch/x86/cpu/coreboot/Makefile | 8 ++++- arch/x86/cpu/coreboot/coreboot.c | 3 +- arch/x86/cpu/coreboot/coreboot_spl.c | 12 +++++++ arch/x86/cpu/cpu.c | 25 +++++++++++++++ arch/x86/cpu/i386/cpu.c | 36 +-------------------- arch/x86/cpu/intel_common/Makefile | 2 ++ arch/x86/cpu/x86_64/cpu.c | 2 ++ arch/x86/dts/coreboot-u-boot.dtsi | 18 +++++++++++ arch/x86/lib/spl.c | 23 ++++++++++--- board/coreboot/coreboot/MAINTAINERS | 7 ++++ cmd/bdinfo.c | 20 ++++++++++++ configs/coreboot64_defconfig | 48 ++++++++++++++++++++++++++++ doc/board/coreboot/coreboot.rst | 10 ++++++ 16 files changed, 183 insertions(+), 42 deletions(-) create mode 100644 arch/x86/cpu/coreboot/coreboot_spl.c create mode 100644 arch/x86/dts/coreboot-u-boot.dtsi create mode 100644 configs/coreboot64_defconfig