[U-Boot] [PATCH v5 0/8] x86: Add basic Slim Bootloader payload support

Park, Aiden aiden.park at intel.com
Mon Jul 22 05:13:20 UTC 2019


Hi Bin/Andy,

> -----Original Message-----
> From: Park, Aiden
> Sent: Tuesday, July 16, 2019 9:41 PM
> To: U-Boot Mailing List <u-boot at lists.denx.de>; Simon Glass
> <sjg at chromium.org>; Bin Meng <bmeng.cn at gmail.com>; Andy Shevchenko
> <andy.shevchenko at gmail.com>
> Subject: [PATCH v5 0/8] x86: Add basic Slim Bootloader payload support
> 
> 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.
> 
> 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 information for timer driver
>   x86: slimbootloader: Add a slimbootloader device tree
>   board: intel: Add new slimbootloader board
>   x86: Skip setting up MTRRs in slimbootloader
> 
>  arch/x86/Kconfig                              |   1 +
>  arch/x86/cpu/Makefile                         |   1 +
>  arch/x86/cpu/slimbootloader/Kconfig           |  26 ++
>  arch/x86/cpu/slimbootloader/Makefile          |   5 +
>  arch/x86/cpu/slimbootloader/car.S             |  14 +
>  arch/x86/cpu/slimbootloader/dram.c            | 151 +++++++++++
>  arch/x86/cpu/slimbootloader/serial.c          |  69 +++++
>  arch/x86/cpu/slimbootloader/slimbootloader.c  |  55 ++++
>  arch/x86/cpu/start.S                          |   6 +-
>  arch/x86/dts/Makefile                         |   1 +
>  arch/x86/dts/slimbootloader.dts               |  27 ++
>  .../asm/arch-slimbootloader/slimbootloader.h  | 121 +++++++++
>  arch/x86/include/asm/fsp/fsp_hob.h            | 183 +------------
>  arch/x86/include/asm/fsp/fsp_support.h        |  37 +--
>  arch/x86/include/asm/fsp/fsp_types.h          |   8 -
>  arch/x86/include/asm/global_data.h            |   2 +-
>  arch/x86/include/asm/hob.h                    | 250 ++++++++++++++++++
>  arch/x86/lib/Makefile                         |   3 +-
>  arch/x86/lib/asm-offsets.c                    |   2 +-
>  arch/x86/lib/fsp/fsp_support.c                |  78 +-----
>  arch/x86/lib/hob.c                            | 104 ++++++++
>  arch/x86/lib/init_helpers.c                   |   3 +-
>  board/intel/Kconfig                           |  14 +
>  board/intel/slimbootloader/Kconfig            |  51 ++++
>  board/intel/slimbootloader/Makefile           |   5 +
>  board/intel/slimbootloader/README             | 133 ++++++++++
>  board/intel/slimbootloader/slimbootloader.c   |  17 ++
>  board/intel/slimbootloader/start.S            |   9 +
>  configs/slimbootloader_defconfig              |  21 ++
>  include/configs/slimbootloader.h              |  59 +++++
>  30 files changed, 1149 insertions(+), 307 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/dram.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/README  create mode
> 100644 board/intel/slimbootloader/slimbootloader.c
>  create mode 100644 board/intel/slimbootloader/start.S
>  create mode 100644 configs/slimbootloader_defconfig  create mode 100644
> include/configs/slimbootloader.h
> 
> --
> 2.20.1

Any update on this series? I hope this will be merged soon. Thanks.

Best Regards,
Aiden


More information about the U-Boot mailing list