diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/cbmem_stage_cache.c | 21 | ||||
-rw-r--r-- | src/lib/ext_stage_cache.c | 20 |
2 files changed, 33 insertions, 8 deletions
diff --git a/src/lib/cbmem_stage_cache.c b/src/lib/cbmem_stage_cache.c index 2947972ac5..f17f12c892 100644 --- a/src/lib/cbmem_stage_cache.c +++ b/src/lib/cbmem_stage_cache.c @@ -17,6 +17,7 @@ #include <cbmem.h> #include <stage_cache.h> #include <string.h> +#include <console/console.h> /* Stage cache uses cbmem. */ void stage_cache_add(int stage_id, const struct prog *stage) @@ -25,15 +26,21 @@ void stage_cache_add(int stage_id, const struct prog *stage) void *c; meta = cbmem_add(CBMEM_ID_STAGEx_META + stage_id, sizeof(*meta)); - if (meta == NULL) + if (meta == NULL) { + printk(BIOS_ERR, "Error: Can't add %x metadata to cbmem\n", + CBMEM_ID_STAGEx_META + stage_id); return; + } meta->load_addr = (uintptr_t)prog_start(stage); meta->entry_addr = (uintptr_t)prog_entry(stage); meta->arg = (uintptr_t)prog_entry_arg(stage); c = cbmem_add(CBMEM_ID_STAGEx_CACHE + stage_id, prog_size(stage)); - if (c == NULL) + if (c == NULL) { + printk(BIOS_ERR, "Error: Can't add stage_cache %x to cbmem\n", + CBMEM_ID_STAGEx_CACHE + stage_id); return; + } memcpy(c, prog_start(stage), prog_size(stage)); } @@ -49,13 +56,19 @@ void stage_cache_load_stage(int stage_id, struct prog *stage) prog_set_entry(stage, NULL, NULL); meta = cbmem_find(CBMEM_ID_STAGEx_META + stage_id); - if (meta == NULL) + if (meta == NULL) { + printk(BIOS_ERR, "Error: Can't find %x metadata in cbmem\n", + CBMEM_ID_STAGEx_META + stage_id); return; + } e = cbmem_entry_find(CBMEM_ID_STAGEx_CACHE + stage_id); - if (e == NULL) + if (e == NULL) { + printk(BIOS_ERR, "Error: Can't find stage_cache %x in cbmem\n", + CBMEM_ID_STAGEx_CACHE + stage_id); return; + } c = cbmem_entry_start(e); size = cbmem_entry_size(e); diff --git a/src/lib/ext_stage_cache.c b/src/lib/ext_stage_cache.c index 2a991889f4..cea9f52625 100644 --- a/src/lib/ext_stage_cache.c +++ b/src/lib/ext_stage_cache.c @@ -68,8 +68,11 @@ void stage_cache_add(int stage_id, const struct prog *stage) imd = imd_get(); e = imd_entry_add(imd, CBMEM_ID_STAGEx_META + stage_id, sizeof(*meta)); - if (e == NULL) + if (e == NULL) { + printk(BIOS_DEBUG, "Error: Can't add %x metadata to imd\n", + CBMEM_ID_STAGEx_META + stage_id); return; + } meta = imd_entry_at(imd, e); @@ -79,8 +82,11 @@ void stage_cache_add(int stage_id, const struct prog *stage) e = imd_entry_add(imd, CBMEM_ID_STAGEx_CACHE + stage_id, prog_size(stage)); - if (e == NULL) + if (e == NULL) { + printk(BIOS_DEBUG, "Error: Can't add stage_cache %x to imd\n", + CBMEM_ID_STAGEx_CACHE + stage_id); return; + } c = imd_entry_at(imd, e); @@ -97,15 +103,21 @@ void stage_cache_load_stage(int stage_id, struct prog *stage) imd = imd_get(); e = imd_entry_find(imd, CBMEM_ID_STAGEx_META + stage_id); - if (e == NULL) + if (e == NULL) { + printk(BIOS_DEBUG, "Error: Can't find %x metadata in imd\n", + CBMEM_ID_STAGEx_META + stage_id); return; + } meta = imd_entry_at(imd, e); e = imd_entry_find(imd, CBMEM_ID_STAGEx_CACHE + stage_id); - if (e == NULL) + if (e == NULL) { + printk(BIOS_DEBUG, "Error: Can't find stage_cache %x in imd\n", + CBMEM_ID_STAGEx_CACHE + stage_id); return; + } c = imd_entry_at(imd, e); size = imd_entry_size(imd, e); |