lib/imd_cbmem.c: Add a helper function to indicate that cbmem is ready
This can be used in romstage in particular to know if dram is ready. Change-Id: I0231ab9c0b78a69faa762e0a97378bf0b50eebaf Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/38736 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
parent
a6a2f9372c
commit
54a4f172d8
|
@ -155,4 +155,18 @@ static inline int cbmem_possibly_online(void)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Returns 1 after running cbmem init hooks, 0 otherwise. */
|
||||||
|
static inline int cbmem_online(void)
|
||||||
|
{
|
||||||
|
extern int cbmem_initialized;
|
||||||
|
|
||||||
|
if (!cbmem_possibly_online())
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (ENV_ROMSTAGE)
|
||||||
|
return cbmem_initialized;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* _CBMEM_H_ */
|
#endif /* _CBMEM_H_ */
|
||||||
|
|
|
@ -30,6 +30,8 @@ void *cbmem_top(void)
|
||||||
dead_code();
|
dead_code();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int cbmem_initialized;
|
||||||
|
|
||||||
static inline const struct cbmem_entry *imd_to_cbmem(const struct imd_entry *e)
|
static inline const struct cbmem_entry *imd_to_cbmem(const struct imd_entry *e)
|
||||||
{
|
{
|
||||||
return (const struct cbmem_entry *)e;
|
return (const struct cbmem_entry *)e;
|
||||||
|
@ -79,6 +81,8 @@ void cbmem_initialize_empty_id_size(u32 id, u64 size)
|
||||||
|
|
||||||
/* Complete migration to CBMEM. */
|
/* Complete migration to CBMEM. */
|
||||||
cbmem_run_init_hooks(no_recovery);
|
cbmem_run_init_hooks(no_recovery);
|
||||||
|
|
||||||
|
cbmem_initialized = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cbmem_initialize(void)
|
int cbmem_initialize(void)
|
||||||
|
@ -112,6 +116,8 @@ int cbmem_initialize_id_size(u32 id, u64 size)
|
||||||
/* Complete migration to CBMEM. */
|
/* Complete migration to CBMEM. */
|
||||||
cbmem_run_init_hooks(recovery);
|
cbmem_run_init_hooks(recovery);
|
||||||
|
|
||||||
|
cbmem_initialized = 1;
|
||||||
|
|
||||||
/* Recovery successful. */
|
/* Recovery successful. */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue