[U-Boot] [PATCH] arm: Allow u-boot to run from offset base address

Wolfgang Denk
2014-05-15T15:21:19Z

Dear Darwin,

In message <5374CD55.3010703@broadcom.com> you wrote:
>
> > Do you really want to check a define at runtime? Placement is typically
> > at the end of RAM and allocation goes down, not up as in this patch.
> > Aren't you overlapping memory here?
>
> Yes, I wanted the runtime check since the adjustment to the relocation
> address is also done at runtime.

This makes no sense to me. CONFIG_SYS_TEXT_BASE is a compile time
constant. So the result of all this is always known at compile time,
too. I feel you misunderstand that CONFIG_SYS_TEXT_BASE is just the
start address of the text segment. If you want to offset this by a
specific amount, you can just define this as needed.

> There is no overlap here. The reason is that the original masking operation
> to mask to a 4K boundary removed the small offset and backed up too far. So
> adding the lost offset is guaranteed to not overlap, and furthermore, correct
> the relocation offset so that arm64 images can run at smaller alignments than
> we normally use. This might even be a generic fix but can't be tested easily
> by me.

Argh... This is black magic depending on specific properties of your
process (which you don;t really explain). Sorry, but this is a full
NAK for code that is build on sand like this.

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"I find this a nice feature but it is not according to the documen-
tation. Or is it a BUG?" "Let's call it an accidental feature. :-)"
- Larry Wall in <6909@jpl-devvax.JPL.NASA.GOV>