Hi Albert,
The previous stage bootloader (which I had no control over) wanted it's
header to be aligned to a 512 byte MMC block boundary, presumably since
this allowed DMA operations without copy/shifting. At the same time, I
didn't want to hack a header into start.S because I didn't want to carry
another downstream patch. So I investigated if I could shift u-boot's
base address as a feature that would allow an aligned header to be used
without the start.S patch.
I know that a custom header patch to start.S would work, and that a
header plus padding will also work. But I found out that you can align
the base on certain smaller offsets if you keep the relocation offset at
nice boundaries like 0x1000 and if the relocation offset is a multiple
of the maximum alignment requirements of the image.
The original patch I submitted didn't handle an end condition properly,
was ARM64-specific (wasn't tested on other architectures), and because
the patch was NAK'd, I didn't bother to submit a v2 patch and consider
the idea to be dead. I'm happy to abandon the patch. I hope this helps.
Best regards,
Darwin
On 14-05-26 02:50 AM, Albert ARIBAUD wrote:
Hi Wolfgang, Darwin,
On Thu, 15 May 2014 21:19:57 +0200, Wolfgang Denk <w...@denx.de> wrote:
Setting CONFIG_SYS_TEXT_BASE to something like 0x88000020 is extremly
fishy. If you want to add some header data to your image, you should
not shift the text segment, but rather include your header in the
start of the text segment. Or keep it completely separate, without
messing with CONFIG_SYS_TEXT_BASE.
Back to the origin of the discussion and patch:
Darwin, can you describe the actual technical difficulty which caused
you to you write and submitting this patch?
Best regards,
Wolfgang Denk
Amicalement,
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot