From 4351ace145c4069f9c93ca7541d6dfaf8300b53b Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Tue, 16 Feb 2016 19:40:47 -0700 Subject: payloads: Load coreinfo as a secondary payload This allows coreinfo to be added to CBFS as a 'secondary' payload on x86 systems, to be loaded by the main payload if desired. Selecting this option, which defaults to no, builds the coreinfo payload and adds it to CBFS as `img/coreinfo` which can then be loaded by for example SeaBIOS or GRUB. Change-Id: I52661d486823bc4bb215ce92dca118c9d2c2a309 Signed-off-by: Martin Roth Reviewed-on: https://review.coreboot.org/13728 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Stefan Reinauer --- Makefile.inc | 2 +- payloads/Kconfig | 9 ++++++++- payloads/Makefile.inc | 21 +++++++++++++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 payloads/Makefile.inc diff --git a/Makefile.inc b/Makefile.inc index 1889128be3..68012d97c9 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -74,7 +74,7 @@ subdirs-y += util/cbfstool util/sconfig util/nvramtool util/broadcom subdirs-y += util/futility util/marvell subdirs-y += $(wildcard src/arch/*) subdirs-y += src/mainboard/$(MAINBOARDDIR) -subdirs-y += payloads/external +subdirs-y += payloads payloads/external subdirs-y += site-local diff --git a/payloads/Kconfig b/payloads/Kconfig index 9037b30a67..01bd216d23 100644 --- a/payloads/Kconfig +++ b/payloads/Kconfig @@ -59,5 +59,12 @@ config PAYLOAD_IS_FLAT_BINARY Add the payload to cbfs as a flat binary type instead of as an elf payload -endmenu +config COREINFO_SECONDARY_PAYLOAD + bool "Load coreinfo as a secondary payload" + default n + depends on ARCH_X86 + help + coreinfo can be loaded as a secondary payload under SeaBIOS, GRUB, + or any other payload that can load additional payloads. +endmenu diff --git a/payloads/Makefile.inc b/payloads/Makefile.inc new file mode 100644 index 0000000000..1bd8cf72bb --- /dev/null +++ b/payloads/Makefile.inc @@ -0,0 +1,21 @@ +## +## This file is part of the coreboot project. +## +## Copyright (C) 2016 Google Inc. +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; version 2 of the License. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## + +cbfs-files-$(CONFIG_COREINFO_SECONDARY_PAYLOAD) += img/coreinfo +img/coreinfo-file := payloads/coreinfo/build/coreinfo.elf +img/coreinfo-type := payload + +payloads/coreinfo/build/coreinfo.elf coreinfo: + $(MAKE) -C payloads/coreinfo defaultbuild -- cgit v1.2.3