summaryrefslogtreecommitdiff
path: root/src/soc/intel/broadwell/refcode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/broadwell/refcode.c')
-rw-r--r--src/soc/intel/broadwell/refcode.c35
1 files changed, 2 insertions, 33 deletions
diff --git a/src/soc/intel/broadwell/refcode.c b/src/soc/intel/broadwell/refcode.c
index ae175b0f68..4edadfa7d2 100644
--- a/src/soc/intel/broadwell/refcode.c
+++ b/src/soc/intel/broadwell/refcode.c
@@ -13,37 +13,10 @@
#include <soc/pm.h>
#include <soc/ramstage.h>
-static pei_wrapper_entry_t load_reference_code(void)
-{
- if (resume_from_stage_cache()) {
- struct prog prog;
- stage_cache_load_stage(STAGE_REFCODE, &prog);
- return prog_entry(&prog);
- }
-
- struct prog prog =
- PROG_INIT(PROG_REFCODE, CONFIG_CBFS_PREFIX "/refcode");
- struct rmod_stage_load refcode = {
- .cbmem_id = CBMEM_ID_REFCODE,
- .prog = &prog,
- };
-
- if (rmodule_stage_load(&refcode)) {
- printk(BIOS_DEBUG, "Error loading reference code.\n");
- return NULL;
- }
-
- /* Cache loaded reference code. */
- stage_cache_add(STAGE_REFCODE, &prog);
-
- return (pei_wrapper_entry_t)prog_entry(&prog);
-}
-
void broadwell_run_reference_code(void)
{
int ret, dummy;
struct pei_data pei_data;
- pei_wrapper_entry_t entry;
memset(&pei_data, 0, sizeof(pei_data));
mainboard_fill_pei_data(&pei_data);
@@ -52,14 +25,10 @@ void broadwell_run_reference_code(void)
pei_data.boot_mode = acpi_is_wakeup_s3() ? ACPI_S3 : 0;
pei_data.saved_data = (void *) &dummy;
- entry = load_reference_code();
- if (entry == NULL) {
- printk(BIOS_ERR, "Reference code not found\n");
- return;
- }
+ extern int ABI_X86 refcode_entry(struct pei_data *pei_data);
/* Call into reference code. */
- ret = entry(&pei_data);
+ ret = refcode_entry(&pei_data);
if (ret != 0) {
printk(BIOS_ERR, "Reference code returned %d\n", ret);
return;