post_code: add post code for failure to load next stage
Add a new post code, POST_INVALID_ROM, used when coreboot fails to
locate or validate a resource that is stored in ROM.
BUG=b:124401932
BRANCH=sarien
TEST=build coreboot for sarien and arcada platforms
Change-Id: Ie6de6590595d8fcdc57ad156237fffa03d5ead38
Signed-off-by: Keith Short <keithshort@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/32770
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
diff --git a/src/lib/prog_loaders.c b/src/lib/prog_loaders.c
index 3b77712..a21663f 100644
--- a/src/lib/prog_loaders.c
+++ b/src/lib/prog_loaders.c
@@ -69,7 +69,8 @@
fail:
if (CONFIG(BOOTBLOCK_CONSOLE))
- die("Couldn't load romstage.\n");
+ die_with_post_code(POST_INVALID_ROM,
+ "Couldn't load romstage.\n");
halt();
}
@@ -162,7 +163,7 @@
prog_run(&ramstage);
fail:
- die("Ramstage was not loaded!\n");
+ die_with_post_code(POST_INVALID_ROM, "Ramstage was not loaded!\n");
}
#ifdef __RAMSTAGE__ // gc-sections should take care of this
@@ -195,13 +196,14 @@
break;
} /* else fall-through */
default:
- die("Unsupported payload type.\n");
+ die_with_post_code(POST_INVALID_ROM,
+ "Unsupported payload type.\n");
break;
}
out:
if (prog_entry(payload) == NULL)
- die("Payload not loaded.\n");
+ die_with_post_code(POST_INVALID_ROM, "Payload not loaded.\n");
}
void payload_run(void)