x86: Add new slimbootloader CPU type
authorPark, Aiden <aiden.park@intel.com>
Sat, 3 Aug 2019 08:30:12 +0000 (08:30 +0000)
committerBin Meng <bmeng.cn@gmail.com>
Fri, 9 Aug 2019 14:24:02 +0000 (22:24 +0800)
commit544293f87850b415721690533dae2d27f77f44f3
treeb94a31242fb3724acecacc03a0b185611b74420e
parent0709ddb68fed4dbeae09d919fc54d7235918d47b
x86: Add new slimbootloader CPU type

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>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/Kconfig
arch/x86/cpu/Makefile
arch/x86/cpu/slimbootloader/Kconfig [new file with mode: 0644]
arch/x86/cpu/slimbootloader/Makefile [new file with mode: 0644]
arch/x86/cpu/slimbootloader/car.S [new file with mode: 0644]
arch/x86/cpu/slimbootloader/slimbootloader.c [new file with mode: 0644]
arch/x86/cpu/start.S
arch/x86/include/asm/global_data.h
arch/x86/lib/asm-offsets.c