summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Georgi <pgeorgi@google.com>2015-06-22 22:26:45 +0200
committerPatrick Georgi <pgeorgi@google.com>2015-06-23 08:23:02 +0200
commite6e94934e8b6641c24ca82ac1de594cfe495e5f9 (patch)
tree9fa86f8495317734d5f7428d08ba0218c1c4a552
parentf1db074bc4c6471d8092d14febdec56956f857e8 (diff)
downloadcoreboot-e6e94934e8b6641c24ca82ac1de594cfe495e5f9.tar.xz
intel/broadwell: Fix refcode handling
Allow adding and executing a refcode binary. Change-Id: I00e91a088a5695b42528e246d0ed642d988603e3 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: http://review.coreboot.org/10638 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r--src/soc/intel/broadwell/Kconfig18
-rw-r--r--src/soc/intel/broadwell/refcode.c4
2 files changed, 20 insertions, 2 deletions
diff --git a/src/soc/intel/broadwell/Kconfig b/src/soc/intel/broadwell/Kconfig
index a789c37e22..b584c0e47c 100644
--- a/src/soc/intel/broadwell/Kconfig
+++ b/src/soc/intel/broadwell/Kconfig
@@ -200,6 +200,24 @@ config SERIRQ_CONTINUOUS_MODE
help
If you set this option to y, the serial IRQ machine will be
operated in continuous mode.
+
+config HAVE_REFCODE_BLOB
+ depends on ARCH_X86
+ bool "An external reference code blob should be put into cbfs."
+ default n
+ help
+ The reference code blob will be placed into cbfs.
+
+if HAVE_REFCODE_BLOB
+
+config REFCODE_BLOB_FILE
+ string "Path and filename to reference code blob."
+ default "refcode.elf"
+ help
+ The path and filename to the file to be added to cbfs.
+
+endif # HAVE_REFCODE_BLOB
+
config HAVE_ME_BIN
bool "Add Intel Management Engine firmware"
default y
diff --git a/src/soc/intel/broadwell/refcode.c b/src/soc/intel/broadwell/refcode.c
index a890e82952..949b416442 100644
--- a/src/soc/intel/broadwell/refcode.c
+++ b/src/soc/intel/broadwell/refcode.c
@@ -43,7 +43,7 @@ static pei_wrapper_entry_t load_refcode_from_cache(void)
return (pei_wrapper_entry_t)prog_entry(&refcode);
}
-static efi_wrapper_entry_t load_reference_code(void)
+static pei_wrapper_entry_t load_reference_code(void)
{
struct prog prog =
PROG_INIT(ASSET_REFCODE, CONFIG_CBFS_PREFIX "/refcode");
@@ -69,7 +69,7 @@ static efi_wrapper_entry_t load_reference_code(void)
/* Cache loaded reference code. */
stage_cache_add(STAGE_REFCODE, &prog);
- return prog_entry(&prog);
+ return (pei_wrapper_entry_t)prog_entry(&prog);
}
void broadwell_run_reference_code(void)