On Fri, Jul 26, 2019 at 9:59 AM Park, Aiden <aiden.p...@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.shevche...@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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot