
Hi Masahiro,
(to: the board maintainers for enbw_cmc, da850evm_direct_nor, and calimain)
On Mon, 09 Jun 2014 18:29:26 +0900, Masahiro Yamada yamada.m@jp.panasonic.com wrote:
Hi Albert,
You changed the behaviour of three boards, "enbw_cmc", "da850evm_direct_nor", "calimain"! Probably they are broken.
These boards expects "0x00000011" (=CONFIG_SYS_DV_NOR_BOOT_CFG) at the beginning of the image. But since commit 41623c91, that is missing.
If you still don't understand, you should checkout 41623c91^ and 41623c91 and compare u-boot.dis.
Your description of the effects of my change is correct. However, this raises another question which I would like to see discussed before doing anything about these boards.
Taking the last commit where the prefix word was actually emitted (that is, 41623c91^, which is actually 60a4f39f, "arm: remove unused _end_vect and _vectors_end symbols"), and reading arch/arm/cpu/arm926ejs/start.S, I see that the start of the image looks like this:
offset Content +0x0000 prefix word CONFIG_SYS_DV_NOR_BOOT_CFG +0x0004 reset vector +0x0008 undefined instruction vector +0x000c software interrupt vector +0x0010 prefetch abort vector +0x0014 data abort vector +0x0018 unused +0x001c irq vector +0x0020 fiq vector +0x0024 (end of vectors table)
And that is /wrong/: the vectors table is misaligned by 4 bytes.
Obviously, the boards have been working fine for a long time, because no exception vector was used apparently (or because when exceptions did happen, the error was debugged without the need to analyze the exception).
I suspect we could just remove the '.word CONFIG_SYS_DV_NOR_BOOT_CFG' line from the vectors.S file and prepend the word to the image /after/ linking.
This, of course, requires confirmation from maintainers.
Manfred, Christian, Sudhakar, Heiko: can any one of you let us know the reason for this signature word exactly, and how exactly it is used by the board? Ideally, can you also:
- test a current build (which does not have the signature word) and confirm it fails to load);
- test the same build with the 4-byte signature manually prepended (this may possibly require padding the image);
Best Regards Masahiro Yamada
Amicalement,