summaryrefslogtreecommitdiff
path: root/common/spl
diff options
context:
space:
mode:
authorGiulio Benetti <giulio.benetti@benettiengineering.com>2020-01-10 15:46:51 +0100
committerStefano Babic <sbabic@denx.de>2020-01-14 22:53:59 +0100
commit1054344fa42b1f6568d35eae7ceecc859ad42258 (patch)
tree9c91a3d246d6b53c6fe602db170fddddda8c8aee /common/spl
parent85d89b93992eb34a71de41093dccf2ca70db4480 (diff)
spl: fix entry_point equal to load_addr
At the moment entry_point is set to image_get_load(header) that sets it to "load address" instead of "entry point", assuming entry_point is equal to load_addr, but it's not true. Then load_addr is set to "entry_point - header_size", but this is wrong too since load_addr is not an entry point. So use image_get_ep() for entry_point assignment and image_get_load() for load_addr assignment. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Diffstat (limited to 'common/spl')
-rw-r--r--common/spl/spl.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/common/spl/spl.c b/common/spl/spl.c
index c1fce62b91..19085ad270 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -284,9 +284,9 @@ int spl_parse_image_header(struct spl_image_info *spl_image,
spl_image->entry_point = image_get_ep(header);
spl_image->size = image_get_data_size(header);
} else {
- spl_image->entry_point = image_get_load(header);
+ spl_image->entry_point = image_get_ep(header);
/* Load including the header */
- spl_image->load_addr = spl_image->entry_point -
+ spl_image->load_addr = image_get_load(header) -
header_size;
spl_image->size = image_get_data_size(header) +
header_size;