
Dear Aneesh V,
Am 30.06.2011 um 08:12 schrieb Aneesh V:
Hi Heiko,
On Thursday 30 June 2011 11:31 AM, Heiko Schocher wrote:
Hello Aneesh,
Aneesh V wrote:
Signed-off-by: Aneesh Vaneesh@ti.com
arch/arm/cpu/armv7/omap-common/Makefile | 9 ++-- arch/arm/cpu/armv7/omap-common/spl.c | 56 ++++++++++++++++++++++++++++ arch/arm/cpu/armv7/omap-common/spl.lds | 62 +++++++++++++++++++++++++++++++ 3 files changed, 123 insertions(+), 4 deletions(-) create mode 100644 arch/arm/cpu/armv7/omap-common/spl.c create mode 100644 arch/arm/cpu/armv7/omap-common/spl.lds
[...]
diff --git a/arch/arm/cpu/armv7/omap-common/spl.c b/arch/arm/cpu/armv7/omap-common/spl.c new file mode 100644 index 0000000..b5a5f3c --- /dev/null +++ b/arch/arm/cpu/armv7/omap-common/spl.c
[...]
@@ -0,0 +1,56 @@ +void board_init_f(ulong dummy) +{
- debug(">>board_init_f()\n");
- relocate_code(CONFIG_SYS_SPL_STACK,&gdata, CONFIG_SYS_SPL_TEXT_BASE);
- debug("<<board_init_f()\n");
This debug printf will never occur ;-)
Indeed. Thanks for pointing out.
BTW: Do you really need to relocate code? You could just load the 2nd stage loader to ram from board_init_f, or?
I am passing the same address as I am executing from as the target for the relocation, so the relocation will not happen, instead BSS will be initialized. That's what I am calling it for. Initially I had my own routine for clearing BSS. Then I decided to re-use it from start.S
So you could just call clear_bss(void) and skip relocate_code. But I think you need to adopt the __bss_start_ofs, __bss_end_ofs markers, cause your linker skript places them in SDRAM.
BTW: I think Simon Schwarz is also working on this, can one comment on his first version of patchset?
regards
Andreas Bießmann