[U-Boot] [PATCH v2 0/8] x86: Add basic Slim Bootloader payload support

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

Hi Bin,
-----Original Message----- From: U-Boot [mailto:u-boot-bounces@lists.denx.de] On Behalf Of Park, Aiden Sent: Tuesday, June 25, 2019 4:15 PM To: U-Boot Mailing List u-boot@lists.denx.de; Simon Glass sjg@chromium.org; Bin Meng bmeng.cn@gmail.com Subject: [U-Boot] [PATCH v2 0/8] x86: Add basic Slim Bootloader payload support
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
Can you review v2 split patches? Thanks in advance.
Best Regards, Aiden

Hi Aiden,
On Mon, Jul 1, 2019 at 3:49 PM Park, Aiden aiden.park@intel.com wrote:
Hi Bin,
-----Original Message----- From: U-Boot [mailto:u-boot-bounces@lists.denx.de] On Behalf Of Park, Aiden Sent: Tuesday, June 25, 2019 4:15 PM To: U-Boot Mailing List u-boot@lists.denx.de; Simon Glass sjg@chromium.org; Bin Meng bmeng.cn@gmail.com Subject: [U-Boot] [PATCH v2 0/8] x86: Add basic Slim Bootloader payload support
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
Can you review v2 split patches? Thanks in advance.
Yes, it's on my review list. Thanks!
Regards, Bin
participants (2)
-
Bin Meng
-
Park, Aiden