[U-Boot] [PATCH v6 0/8] x86: Add basic Slim Bootloader payload support
Andy Shevchenko
andy.shevchenko at gmail.com
Fri Jul 26 10:38:51 UTC 2019
On Fri, Jul 26, 2019 at 9:59 AM Park, Aiden <aiden.park at intel.com> wrote:
>
> This patch is to enable U-Boot as a payload which runs on top of Slim Bootloader(https://github.com/slimbootloader/slimbootloader) boot firmware for x86 platforms.
>
> The Slim Bootloader is designed with multi-stage architecture for the execution from reset vector to OS hand-off, and supports QEMU, Apollolake, Whiskeylake and Coffeelake platforms consuming Intel FSP(https://github.com/IntelFsp/FSP) for silicon initialization including CAR and memory initialization.
> As multi-stage architecture, the Slim Bootloader adopts payload concept which is responsible for OS load from media devices and boot OS and it supports 32-bit PE32, EFI FV, ELF and RAW format payloads.
> The Slim Bootloader generate HOB(Hand Off Block) list pointer, which has debug serial port info, memory map info, performance data info and etc., and passes it to a payload. U-Boot configures serial port, dram, pci, tsc and others with the information from the HOB.
>
> The compiled U-Boot supports usb, sata and sd/mmc boot which have been verified on QEMU and other supported platforms.
>
Thanks for an update.
For non-commented patches, take mine
Reviewed-by: Andy Shevchenko <andy.shevchenko at gmail.com>
For the rest, consider addressing.
> Changes in v6:
> * Add CONFIG_USE_HOB
> * Move USB_STORAGE and USB_KEYBOARD from CPU Kconfig to board Kconfig
> * Remove RTL8169 until required
> * Use EFI_GUID and efi_guid_t instead of struct efi_guid
> * Use less generic struct name in Slim Bootloader specific files
> * Convert README to reST doc/board/intel/slimbootloader.rst
>
> Changes in v5:
> * Remove X86_LOAD_FROM_32_BIT from slimbootloader_defconfig
>
> Changes in v4:
> * Use arch/x86/cpu/start.S with CONFIG_SYS_SLIMBOOTLOADER condition
> * Update U-boot or u-boot to U-Boot in commit message
> * Add static keyword in static function
>
> Changes in v3:
> * Add a brief description about Slim Bootloader in 1st patch
> * Add a common HOB library to be used by both FSP and Slim Bootloader
> * Move board/slimbootloader/slimbootloader to board/intel/slimbootloader
> * Add more description board/intel/slimbootloader/README
> * Fix comments from the code review
>
> Changes in v2:
> * Split a single patch to 8 patches
> * Add more comment for each structure and functions
>
> Aiden Park (8):
> x86: Add new slimbootloader CPU type
> x86: Add a common HOB library
> x86: slimbootloader: Add memory configuration
> x86: slimbootloader: Add serial driver
> x86: slimbootloader: Set TSC base and clock_rate for tsc_timer
> x86: slimbootloader: Add a slimbootloader device tree
> board: intel: Add new slimbootloader board
> x86: Skip setting up MTRRs in slimbootloader
>
> arch/x86/Kconfig | 9 +
> arch/x86/cpu/Makefile | 1 +
> arch/x86/cpu/slimbootloader/Kconfig | 19 ++
> arch/x86/cpu/slimbootloader/Makefile | 5 +
> arch/x86/cpu/slimbootloader/car.S | 14 +
> arch/x86/cpu/slimbootloader/sdram.c | 152 +++++++++++
> arch/x86/cpu/slimbootloader/serial.c | 67 +++++
> arch/x86/cpu/slimbootloader/slimbootloader.c | 58 ++++
> arch/x86/cpu/start.S | 6 +-
> arch/x86/dts/Makefile | 1 +
> arch/x86/dts/slimbootloader.dts | 27 ++
> .../asm/arch-slimbootloader/slimbootloader.h | 115 ++++++++
> arch/x86/include/asm/fsp/fsp_ffs.h | 4 +-
> arch/x86/include/asm/fsp/fsp_fv.h | 4 +-
> arch/x86/include/asm/fsp/fsp_hob.h | 252 +++---------------
> arch/x86/include/asm/fsp/fsp_support.h | 39 +--
> arch/x86/include/asm/fsp/fsp_types.h | 8 -
> arch/x86/include/asm/global_data.h | 2 +-
> arch/x86/include/asm/hob.h | 229 ++++++++++++++++
> arch/x86/lib/Makefile | 1 +
> arch/x86/lib/asm-offsets.c | 2 +-
> arch/x86/lib/fsp/fsp_support.c | 123 ++-------
> arch/x86/lib/hob.c | 84 ++++++
> arch/x86/lib/init_helpers.c | 3 +-
> board/intel/Kconfig | 14 +
> board/intel/slimbootloader/Kconfig | 28 ++
> board/intel/slimbootloader/Makefile | 5 +
> board/intel/slimbootloader/slimbootloader.c | 21 ++
> board/intel/slimbootloader/start.S | 9 +
> cmd/x86/Makefile | 1 +
> cmd/x86/fsp.c | 67 +----
> cmd/x86/hob.c | 78 ++++++
> configs/slimbootloader_defconfig | 22 ++
> doc/board/intel/slimbootloader.rst | 166 ++++++++++++
> include/configs/slimbootloader.h | 62 +++++
> 35 files changed, 1267 insertions(+), 431 deletions(-)
> create mode 100644 arch/x86/cpu/slimbootloader/Kconfig
> create mode 100644 arch/x86/cpu/slimbootloader/Makefile
> create mode 100644 arch/x86/cpu/slimbootloader/car.S
> create mode 100644 arch/x86/cpu/slimbootloader/sdram.c
> create mode 100644 arch/x86/cpu/slimbootloader/serial.c
> create mode 100644 arch/x86/cpu/slimbootloader/slimbootloader.c
> create mode 100644 arch/x86/dts/slimbootloader.dts
> create mode 100644 arch/x86/include/asm/arch-slimbootloader/slimbootloader.h
> create mode 100644 arch/x86/include/asm/hob.h
> create mode 100644 arch/x86/lib/hob.c
> create mode 100644 board/intel/slimbootloader/Kconfig
> create mode 100644 board/intel/slimbootloader/Makefile
> create mode 100644 board/intel/slimbootloader/slimbootloader.c
> create mode 100644 board/intel/slimbootloader/start.S
> create mode 100644 cmd/x86/hob.c
> create mode 100644 configs/slimbootloader_defconfig
> create mode 100644 doc/board/intel/slimbootloader.rst
> create mode 100644 include/configs/slimbootloader.h
>
> --
> 2.20.1
>
--
With Best Regards,
Andy Shevchenko
More information about the U-Boot
mailing list