aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2015-06-09 13:54:10 -0500
committerAaron Durbin <adurbin@chromium.org>2015-06-09 22:03:30 +0200
commit41607a4682c75b716e342cfc773926c753fb6086 (patch)
tree9fe3ea3bbbcce423cc9dfb6c91a890a2dab3a942 /src/lib
parentdb23215039894cf7668cba21c94753a9fcc546a0 (diff)
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>
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/cbmem_common.c4
-rw-r--r--src/lib/cbmem_console.c2
-rw-r--r--src/lib/imd_cbmem.c6
-rw-r--r--src/lib/timestamp.c2
4 files changed, 8 insertions, 6 deletions
diff --git a/src/lib/cbmem_common.c b/src/lib/cbmem_common.c
index 496bafa986..d3019c5644 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 @@ void cbmem_run_init_hooks(void)
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 48664543fc..464294cabc 100644
--- a/src/lib/cbmem_console.c
+++ b/src/lib/cbmem_console.c
@@ -208,7 +208,7 @@ static void copy_console_buffer(struct cbmem_console *old_cons_p,
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 d1ff57d96c..fa6533484f 100644
--- a/src/lib/imd_cbmem.c
+++ b/src/lib/imd_cbmem.c
@@ -101,6 +101,7 @@ void cbmem_initialize_empty_id_size(u32 id, u64 size)
{
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 @@ void cbmem_initialize_empty_id_size(u32 id, u64 size)
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 @@ int cbmem_initialize_id_size(u32 id, u64 size)
{
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 @@ int cbmem_initialize_id_size(u32 id, u64 size)
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 3b886b62c6..0c41ea2156 100644
--- a/src/lib/timestamp.c
+++ b/src/lib/timestamp.c
@@ -157,7 +157,7 @@ void timestamp_init(uint64_t base)
#endif
}
-static void timestamp_reinit(void)
+static void timestamp_reinit(int is_recovery)
{
if (!timestamp_should_run())
return;