[U-Boot] Question about relocation

Alessandro Rubini
2011-04-17T01:19:39Z

Hello.
I'm trying to make at91sam9261ek working again, but relocation
overlaps the destinatin address.

In this board, u-boot runs already in RAM. This is exactly like the
nhk8815 that I ported a few hours ago, but while there the IPL
loaded our code at the beginning of RAM, in this case the IPL
loaded us already at end of RAM.

Now, this is the printout of the situation:

U-Boot code: 23F00000 -> 23F36EFC BSS: -> 23F78570
monitor len: 00078570
ramsize: 04000000
TLB table at: 23ff0000
Top of RAM usable for U-Boot at: 23ff0000
Reserving 481k for U-Boot at: 23f64000
Reserving 180k for malloc() at: 23f37000
Reserving 24 Bytes for Board Info at: 23f36fe8
Reserving 144 Bytes for Global Data at: 23f36f58
New Stack Pointer is: 23f36f50
RAM Configuration:
Bank #0: 20000000 64 MiB
relocation Offset is: 00064000

Since "tor len: 00078570" and "relocation Offset is: 00064000" the
system data-aborts during relocation, as code overwrites relocation
tables.

What is the suggested solution? Changing the IPL is not acceptable for
me, because it is an external tool used by everyone: everybody knows
it loads and runs code at 23f0.0000.

Thanks
/alessandro