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-staqe 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 and ELF format payloads.
The Slim Bootloader passes HOB(Hand Off Block) memory address, which has debug 
serial port info, memory map info, performance data info and etc., to a 
payload. U-boot configures serial port, dram, pci, tsc and others with the 
information from the HOB.

The compiled u-boot ELF supports usb, sata and sd/mmc boot which have been 
verified on qemu and other supported platforms.

Aiden Park (8):
  x86: Add new slimbootloader CPU type
  x86: slimbootloader: Add a function to access HOB
  x86: slimbootloader: Add memory configuration
  x86: slimbootloader: Add serial driver
  x86: slimbootloader: Set TSC information for timer driver
  x86: slimbootloader: Add a slimbootloader device tree
  board: Add new slimbootloader board
  x86: Skip setting up MTRRs in slimbootloader

 arch/x86/Kconfig                              |   5 +
 arch/x86/cpu/Makefile                         |   1 +
 arch/x86/cpu/slimbootloader/Kconfig           |  23 +++
 arch/x86/cpu/slimbootloader/Makefile          |   5 +
 arch/x86/cpu/slimbootloader/car.S             |  43 ++++++
 arch/x86/cpu/slimbootloader/dram.c            | 139 ++++++++++++++++++
 arch/x86/cpu/slimbootloader/hob.c             |  97 ++++++++++++
 arch/x86/cpu/slimbootloader/serial.c          |  62 ++++++++
 arch/x86/cpu/slimbootloader/slimbootloader.c  |  52 +++++++
 arch/x86/dts/Makefile                         |   3 +-
 arch/x86/dts/slimbootloader.dts               |  27 ++++
 .../asm/arch-slimbootloader/slimbootloader.h  | 122 +++++++++++++++
 arch/x86/include/asm/global_data.h            |   2 +-
 arch/x86/lib/asm-offsets.c                    |   2 +-
 arch/x86/lib/init_helpers.c                   |   3 +-
 board/slimbootloader/Kconfig                  |  25 ++++
 board/slimbootloader/slimbootloader/Kconfig   |  51 +++++++
 board/slimbootloader/slimbootloader/Makefile  |   5 +
 board/slimbootloader/slimbootloader/README    |  58 ++++++++
 .../slimbootloader/slimbootloader.c           |  17 +++
 board/slimbootloader/slimbootloader/start.S   |   9 ++
 configs/slimbootloader_defconfig              |  64 ++++++++
 include/configs/slimbootloader.h              |  54 +++++++
 23 files changed, 865 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/dram.c
 create mode 100644 arch/x86/cpu/slimbootloader/hob.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 board/slimbootloader/Kconfig
 create mode 100644 board/slimbootloader/slimbootloader/Kconfig
 create mode 100644 board/slimbootloader/slimbootloader/Makefile
 create mode 100644 board/slimbootloader/slimbootloader/README
 create mode 100644 board/slimbootloader/slimbootloader/slimbootloader.c
 create mode 100644 board/slimbootloader/slimbootloader/start.S
 create mode 100644 configs/slimbootloader_defconfig
 create mode 100644 include/configs/slimbootloader.h

-- 
2.20.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to