cbmem: add indicator to hooks if cbmem is being recovered
It can be helpful to certain users of the cbmem init hooks
to know if recovery was done or not. Therefore, add this
as a parameter to the hooks.
Change-Id: I049fc191059cfdb8095986d3dc4eee9e25cf5452
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/10480
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
diff --git a/src/lib/cbmem_common.c b/src/lib/cbmem_common.c
index 496bafa..d3019c5 100644
--- a/src/lib/cbmem_common.c
+++ b/src/lib/cbmem_common.c
@@ -25,7 +25,7 @@
#include <arch/acpi.h>
#endif
-void cbmem_run_init_hooks(void)
+void cbmem_run_init_hooks(int is_recovery)
{
cbmem_init_hook_t *init_hook_ptr = (cbmem_init_hook_t*) &_cbmem_init_hooks;
cbmem_init_hook_t *einit_hook_ptr = (cbmem_init_hook_t*) &_ecbmem_init_hooks;
@@ -34,7 +34,7 @@
return;
while (init_hook_ptr != einit_hook_ptr) {
- (*init_hook_ptr)();
+ (*init_hook_ptr)(is_recovery);
init_hook_ptr++;
}
}
diff --git a/src/lib/cbmem_console.c b/src/lib/cbmem_console.c
index 4866454..464294c 100644
--- a/src/lib/cbmem_console.c
+++ b/src/lib/cbmem_console.c
@@ -208,7 +208,7 @@
new_cons_p->buffer_cursor = cursor;
}
-static void cbmemc_reinit(void)
+static void cbmemc_reinit(int is_recovery)
{
struct cbmem_console *cbm_cons_p;
const size_t size = CONFIG_CONSOLE_CBMEM_BUFFER_SIZE;
diff --git a/src/lib/imd_cbmem.c b/src/lib/imd_cbmem.c
index d1ff57d..fa65334 100644
--- a/src/lib/imd_cbmem.c
+++ b/src/lib/imd_cbmem.c
@@ -101,6 +101,7 @@
{
struct imd *imd;
struct imd imd_backing;
+ const int no_recovery = 0;
imd = imd_init_backing(&imd_backing);
imd_handle_init(imd, cbmem_top());
@@ -118,7 +119,7 @@
cbmem_add(id, size);
/* Complete migration to CBMEM. */
- cbmem_run_init_hooks();
+ cbmem_run_init_hooks(no_recovery);
}
static inline int cbmem_fail_recovery(void)
@@ -137,6 +138,7 @@
{
struct imd *imd;
struct imd imd_backing;
+ const int recovery = 1;
imd = imd_init_backing(&imd_backing);
imd_handle_init(imd, cbmem_top());
@@ -158,7 +160,7 @@
cbmem_add(id, size);
/* Complete migration to CBMEM. */
- cbmem_run_init_hooks();
+ cbmem_run_init_hooks(recovery);
/* Recovery successful. */
return 0;
diff --git a/src/lib/timestamp.c b/src/lib/timestamp.c
index 3b886b6..0c41ea2 100644
--- a/src/lib/timestamp.c
+++ b/src/lib/timestamp.c
@@ -157,7 +157,7 @@
#endif
}
-static void timestamp_reinit(void)
+static void timestamp_reinit(int is_recovery)
{
if (!timestamp_should_run())
return;