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 <>
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <>
Reviewed-by: Stefan Reinauer <>
diff --git a/ b/
index 1889128..68012d9 100644
--- a/
+++ b/
@@ -74,7 +74,7 @@
 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 9037b30..01bd216 100644
--- a/payloads/Kconfig
+++ b/payloads/Kconfig
@@ -59,5 +59,12 @@
 	  Add the payload to cbfs as a flat binary type instead of as an
 	  elf 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.
diff --git a/payloads/ b/payloads/
new file mode 100644
index 0000000..1bd8cf7
--- /dev/null
+++ b/payloads/
@@ -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
+## 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