
Hi Aiden,
On Mon, Jul 29, 2019 at 12:35 PM Park, Aiden aiden.park@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.
Changes in v7:
- Split HOB library into EFI_GUID pre-work and making a common library
- Use for_each macro for memory entry search
Thanks for all the efforts so far!
There are some checkpatch warnings which I think we should fix:
CHECK: Unnecessary parentheses around guid_hob->name #379: FILE: arch/x86/lib/fsp/fsp_support.c:374: + if (!guidcmp(guid, &(guid_hob->name)))
ERROR: trailing statements should be on next line #76: FILE: arch/x86/cpu/slimbootloader/sdram.c:37: + if (entries->entry[iter].type != E820_RAM) {} else
Regards, Bin