summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Roth <martinroth@google.com>2016-02-16 19:40:47 -0700
committerMartin Roth <martinroth@google.com>2016-02-26 20:07:14 +0100
commit4351ace145c4069f9c93ca7541d6dfaf8300b53b (patch)
tree22b9341f29488b74db5d97ea8994a279332ab1f3
parent7d82499634cf8aa1a3b3fa363d2e774a8e357a52 (diff)
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 <martinroth@google.com> Reviewed-on: https://review.coreboot.org/13728 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r--Makefile.inc2
-rw-r--r--payloads/Kconfig9
-rw-r--r--payloads/Makefile.inc21
3 files changed, 30 insertions, 2 deletions
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