payloads/external: add skiboot (for QEMU/Power9)
Add an option to build skiboot as a payload. This makes QEMU Power9 board simpler to use as skiboot is necessary anyway. Change-Id: I0b49ea7464c97cc2ff0d5030629deed549851372 Signed-off-by: Igor Bagnucki <igor.bagnucki@3mdeb.com> Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com> Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/58656 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Michał Żygowski <michal.zygowski@3mdeb.com>
This commit is contained in:
committed by
Felix Held
parent
8d436cfc1a
commit
a816c29882
2
payloads/external/.gitignore
vendored
2
payloads/external/.gitignore
vendored
@@ -8,3 +8,5 @@ tint/tint/
|
||||
U-Boot/u-boot/
|
||||
Memtest86Plus/memtest86plus/
|
||||
iPXE/ipxe/
|
||||
skiboot/skiboot
|
||||
skiboot/build
|
||||
|
7
payloads/external/Makefile.inc
vendored
7
payloads/external/Makefile.inc
vendored
@@ -332,3 +332,10 @@ payloads/external/Yabits/uefi/build/uefi.elf yabits:
|
||||
|
||||
payloads/external/BOOTBOOT/bootboot/dist/bootbootcb.elf:
|
||||
$(MAKE) -C payloads/external/BOOTBOOT all
|
||||
|
||||
# skiboot
|
||||
|
||||
payloads/external/skiboot/build/skiboot.elf:
|
||||
$(MAKE) -C payloads/external/skiboot all \
|
||||
CONFIG_SKIBOOT_GIT_REPO=$(CONFIG_SKIBOOT_GIT_REPO) \
|
||||
CONFIG_SKIBOOT_REVISION=$(CONFIG_SKIBOOT_REVISION)
|
||||
|
21
payloads/external/skiboot/Kconfig
vendored
Normal file
21
payloads/external/skiboot/Kconfig
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
## SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
if PAYLOAD_SKIBOOT
|
||||
|
||||
config PAYLOAD_FILE
|
||||
default "payloads/external/skiboot/build/skiboot.elf"
|
||||
|
||||
config SKIBOOT_GIT_REPO
|
||||
string "Git repository of skiboot payload"
|
||||
default "https://github.com/open-power/skiboot"
|
||||
help
|
||||
Git repository which will be used to clone skiboot.
|
||||
|
||||
config SKIBOOT_REVISION
|
||||
string "Revision of skiboot payload"
|
||||
default "d93ddbd39b4eeac0bc11dacbdadea76df2996c13" if BOARD_EMULATION_QEMU_POWER9
|
||||
help
|
||||
Revision, that skiboot repository will be checked out to, before building
|
||||
an image.
|
||||
|
||||
endif # PAYLOAD_SKIBOOT
|
8
payloads/external/skiboot/Kconfig.name
vendored
Normal file
8
payloads/external/skiboot/Kconfig.name
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
## SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
config PAYLOAD_SKIBOOT
|
||||
bool "skiboot"
|
||||
depends on ARCH_PPC64
|
||||
help
|
||||
Select this option if you want to build a coreboot image
|
||||
with a skiboot payload.
|
36
payloads/external/skiboot/Makefile
vendored
Normal file
36
payloads/external/skiboot/Makefile
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
## SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
build_dir=$(CURDIR)/build
|
||||
skiboot_dir=$(CURDIR)/skiboot
|
||||
skiboot_git_repo=$(CONFIG_SKIBOOT_GIT_REPO)
|
||||
skiboot_revision=$(CONFIG_SKIBOOT_REVISION)
|
||||
skiboot_elf=$(build_dir)/skiboot.elf
|
||||
skiboot_cross=$(or $(CROSS),powerpc64-linux-gnu-)
|
||||
|
||||
unexport $(COREBOOT_EXPORTS)
|
||||
|
||||
.PHONY: all clean distclean
|
||||
|
||||
all: $(skiboot_elf)
|
||||
|
||||
$(skiboot_elf): | $(skiboot_dir) $(build_dir)
|
||||
+$(MAKE) -C $(skiboot_dir) CROSS="$(skiboot_cross)"
|
||||
cp $(skiboot_dir)/skiboot.elf $@
|
||||
# skiboot is always built with debug information due to unconditional -ggdb
|
||||
$(skiboot_cross)strip $@
|
||||
|
||||
$(skiboot_dir):
|
||||
git clone $(skiboot_git_repo) $(skiboot_dir)
|
||||
git -C $(skiboot_dir) checkout $(skiboot_revision)
|
||||
|
||||
$(build_dir):
|
||||
mkdir -p $(build_dir)
|
||||
|
||||
distclean: clean
|
||||
rm -rf $(skiboot_dir)
|
||||
|
||||
clean:
|
||||
# Redefine RM because it's used like `$(RM) non-existent-file`
|
||||
# Also ignore useless messages about removing test files
|
||||
[ ! -d $(skiboot_dir) ] || $(MAKE) -C $(skiboot_dir) RM="rm -rf" clean > /dev/null
|
||||
rm -rf $(build_dir)
|
Reference in New Issue
Block a user