diff options
author | Raymond Mao <raymond.mao@linaro.org> | 2025-02-19 16:02:19 -0800 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2025-02-19 18:49:36 -0600 |
commit | 6799f09069f402a33c9cb202b71e144497bd9b7a (patch) | |
tree | 2b13bc02a4a75795ed42de3885b50bd4a2e60eb4 /arch/arm/lib/xferlist.c | |
parent | 42aebf0f987798599b5f2d2ca6098a775bb9f448 (diff) |
bloblist: refactor xferlist and bloblist
Refactor the xferlist to remove the relocating when bloblist passed
from the boot args.
Refactor bloblist init to use incoming standard passage by default
if a valid transfer list exists in the boot args.
For bloblist relocation, use the actual total size if it has a smaller
BLOBLIST_SIZE_RELOC.
Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
Suggested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Diffstat (limited to 'arch/arm/lib/xferlist.c')
-rw-r--r-- | arch/arm/lib/xferlist.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/arch/arm/lib/xferlist.c b/arch/arm/lib/xferlist.c index f9c5d88bd47..6425936d354 100644 --- a/arch/arm/lib/xferlist.c +++ b/arch/arm/lib/xferlist.c @@ -8,18 +8,16 @@ #include <bloblist.h> #include "xferlist.h" -int xferlist_from_boot_arg(ulong addr, ulong size) +int xferlist_from_boot_arg(ulong *addr) { int ret; - ret = bloblist_check(saved_args[3], size); - if (ret) - return ret; - ret = bloblist_check_reg_conv(saved_args[0], saved_args[2], - saved_args[1]); + saved_args[1], saved_args[3]); if (ret) return ret; - return bloblist_reloc((void *)addr, size); + *addr = bloblist_get_base(); + + return 0; } |