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>
This commit is contained in:
Aaron Durbin
2015-06-09 13:54:10 -05:00
parent db23215039
commit 41607a4682
10 changed files with 16 additions and 13 deletions

View File

@@ -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++;
}
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;