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

Park, Aiden aiden.park at intel.com
Fri Jul 26 12:53:35 UTC 2019


Hi Andy,

> -----Original Message-----
> From: Andy Shevchenko [mailto:andy.shevchenko at gmail.com]
> Sent: Friday, July 26, 2019 7:39 PM
> To: Park, Aiden <aiden.park at intel.com>
> Cc: Bin Meng <bmeng.cn at gmail.com>; U-Boot Mailing List <u-
> boot at lists.denx.de>; Simon Glass <sjg at chromium.org>
> Subject: Re: [PATCH v6 0/8] x86: Add basic Slim Bootloader payload support
> 
> 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.
> 
Thanks for your quick review. Let me make next version according to your review.

> > 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

Best Regards,
Aiden


More information about the U-Boot mailing list