
On Fri, Aug 2, 2019 at 3:03 PM Park, Aiden aiden.park@intel.com wrote:
This slimbootloader CPU type is to enable U-Boot as a payload which runs on top of Slim Bootloader (https://github.com/slimbootloader). The Slim Bootloader is designed with multi-stage architecture for the execution from reset vector to OS booting, and supports QEMU, Apollolake, Whiskeylake and Coffeelake platforms consuming Intel FSP (https://github.com/IntelFsp) for silicon initialization including CAR and memory initialization. The Slim Bootloader generates new HOB (Hand Off Block) which are serial port info, memory map info, performance data info and so on, and passes it to a Payload. U-Boot as a payload will use these HOB information for basic initialization such as serial console.
As an initial commit,
- Add CONFIG_SYS_SLIMBOOTLOADER to enable slimbootloader CPU type
- Add new arch/x86/cpu/slimbootloader directory with minimum codes
- Get hob_list pointer from Slim Bootloader
Signed-off-by: Aiden Park aiden.park@intel.com Reviewed-by: Bin Meng bmeng.cn@gmail.com Reviewed-by: Andy Shevchenko andy.shevchenko@gmail.com
Changes in v8:
- Add a space between acronym and (definition)
Changes in v6:
- Add CONFIG_USE_HOB
- Move some CONFIGs to board Kconfig
- Remove arch-slimbootloader/slimbooloader.h
- Apply code-review comments
Changes in v4:
- Use common arch/x86/cpu/start.S
- Update U-boot or u-boot to U-Boot in commit message
Changes in v3:
- Add a brief description about Slim Bootloader
- Enable USB_KEYBOARD, E1000 and RTL8169 by default
- Fix comment from code review
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/slimbootloader.c | 21 ++++++++++++++++++++ arch/x86/cpu/start.S | 6 ++++-- arch/x86/include/asm/global_data.h | 2 +- arch/x86/lib/asm-offsets.c | 2 +- 9 files changed, 75 insertions(+), 4 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/slimbootloader.c
Tested-by: Bin Meng bmeng.cn@gmail.com