lib/prog_loaders: use common ramstage_cache_invalid()
All current implementations of ramstage_cache_invalid() were just resetting the system based on the RESET_ON_INVALID_RAMSTAGE_CACHE Kconfig option. Move that behavior to a single implementation within prog_loaders.c which removes duplication. Change-Id: I67aae73f9e1305732f90d947fe57c5aaf66ada9e Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/17184 Tested-by: build bot (Jenkins) Reviewed-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
@ -22,6 +22,7 @@
|
||||
#include <halt.h>
|
||||
#include <lib.h>
|
||||
#include <program_loading.h>
|
||||
#include <reset.h>
|
||||
#include <romstage_handoff.h>
|
||||
#include <rmodule.h>
|
||||
#include <rules.h>
|
||||
@ -74,7 +75,15 @@ void __attribute__((weak)) stage_cache_add(int stage_id,
|
||||
const struct prog *stage) {}
|
||||
void __attribute__((weak)) stage_cache_load_stage(int stage_id,
|
||||
struct prog *stage) {}
|
||||
void __attribute__((weak)) ramstage_cache_invalid(void) {}
|
||||
|
||||
static void ramstage_cache_invalid(void)
|
||||
{
|
||||
printk(BIOS_ERR, "ramstage cache invalid.\n");
|
||||
if (IS_ENABLED(CONFIG_RESET_ON_INVALID_RAMSTAGE_CACHE)) {
|
||||
hard_reset();
|
||||
halt();
|
||||
}
|
||||
}
|
||||
|
||||
static void run_ramstage_from_resume(struct romstage_handoff *handoff,
|
||||
struct prog *ramstage)
|
||||
|
Reference in New Issue
Block a user