Hi Lukasz,

all patch series has already been applied, anyway I answer to your suggestions since something was missing and I'm going to create a patch for that.

So...

On 1/28/20 9:09 AM, Lukasz Majewski wrote:
Hi Giulio,

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.bene...@benettiengineering.com>
---
  common/spl/spl.c | 4 ++--
  1 file 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;

I'm concerned, that this change will silently break several boards -
the problem is with assumption that entry point is equal to load_addr.

It would be best to pull this change ASAP, so we would have a chance to
fix this by next release.

It's been committed after Patrice fixed a lot of boards:
https://gitlab.denx.de/u-boot/u-boot/commit/38a6cce65737096b836d43a22f09b7a54c9d020c
and
https://gitlab.denx.de/u-boot/u-boot/commit/74bb4570a952b06fecfafc5b961a5cb5147ec544

Indeed at the first moment it's been committed by Tom Rini and started to cause boot failure as you were worried for, then it's been reverted, then it's been re-applied after applying Patrice series.

Best regards
--
Giulio Benetti
Benetti Engineering sas


Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lu...@denx.de


Reply via email to