diff options
author | Tom Rini <trini@konsulko.com> | 2022-02-09 09:29:07 -0500 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-02-09 09:29:07 -0500 |
commit | 859703251251d9567f29ab10c0a29f98eb0aff5c (patch) | |
tree | e0863f7cced9c153b8b083575d52faec05fae8d7 /common/bloblist.c | |
parent | 531c00894577a0a852431adf61ade76925f8b162 (diff) | |
parent | cccc4ab86f5e64ea6fe1e79b3ca2453baa049120 (diff) |
Merge branch '2022-02-08-Kconfig-updates'
- Assorted general code cleanups to make sure we use the right macros
and use them correctly and buildman updates around kconfig.h itself.
- Convert some IDE and SCSI symbols to Kconfig.
- Convert CONFIG_REMAKE_ELF
- Introduce conversion deadline for DM_SCSI.
Diffstat (limited to 'common/bloblist.c')
-rw-r--r-- | common/bloblist.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/common/bloblist.c b/common/bloblist.c index 056b50c2cb6..406073c8105 100644 --- a/common/bloblist.c +++ b/common/bloblist.c @@ -430,18 +430,23 @@ void bloblist_reloc(void *to, uint to_size, void *from, uint from_size) int bloblist_init(void) { + bool fixed = IS_ENABLED(CONFIG_BLOBLIST_FIXED); int ret = -ENOENT; ulong addr, size; bool expected; /** - * Wed expect to find an existing bloblist in the first phase of U-Boot - * that runs + * We don't expect to find an existing bloblist in the first phase of + * U-Boot that runs. Also we have no way to receive the address of an + * allocated bloblist from a previous stage, so it must be at a fixed + * address. */ - expected = !u_boot_first_phase(); + expected = fixed && !u_boot_first_phase(); if (spl_prev_phase() == PHASE_TPL && !IS_ENABLED(CONFIG_TPL_BLOBLIST)) expected = false; - addr = bloblist_addr(); + if (fixed) + addr = IF_ENABLED_INT(CONFIG_BLOBLIST_FIXED, + CONFIG_BLOBLIST_ADDR); size = CONFIG_BLOBLIST_SIZE; if (expected) { ret = bloblist_check(addr, size); @@ -460,6 +465,8 @@ int bloblist_init(void) if (!ptr) return log_msg_ret("alloc", -ENOMEM); addr = map_to_sysmem(ptr); + } else if (!fixed) { + return log_msg_ret("!fixed", ret); } log_debug("Creating new bloblist size %lx at %lx\n", size, addr); |