the following patch was just integrated into master: commit 0b23d47ffd1c87cb41df9e3e1b73cdfddd425dcd Author: David Hendricks dhendrix@chromium.org Date: Mon Jan 14 20:58:50 2013 -0800
armv7: Place reset vector + CBFS header + bootblock dynamically
This replaces hard-coded bootblock offsets using the new scheme. The assembler will place the initial branch instruction after BL1, skip 2 aligned chunks, and place the remaining bootblock code after.
It will also leave an anchor string, currently 0xdeadbeef which cbfstool will find. Once found, cbfstool will place the master CBFS header at the next aligned offset.
Here is how it looks:
0x0000 |--------------| | BL1 | 0x2000 |--------------| | branch | 0x2000 + align |--------------| | CBFS header | 0x2000 + align * 2 |--------------| | bootblock | |--------------|
TODO: The option for alignment passed into cbfstool has always been 64. Can we set it to 16 instead?
Change-Id: Icbe817cbd8a37f11990aaf060aab77d2dc113cb1 Signed-off-by: David Hendricks dhendrix@chromium.org Reviewed-on: http://review.coreboot.org/2148 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich rminnich@gmail.com
Build-Tested: build bot (Jenkins) at Wed Jan 16 22:14:38 2013, giving +1 Reviewed-By: Ronald G. Minnich rminnich@gmail.com at Wed Jan 16 23:15:50 2013, giving +2 See http://review.coreboot.org/2148 for details.
-gerrit