microblaze: Remove _start symbol handling at U-Boot start

Right now U-Boot runs all the time from the same address where it is loaded
but going to full relocation code starting address doesn't need to be fixed
and can be simply discovered from reading PC register. That's why use r20
to get PC address and subtract offset from the beginning to get starting
address.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/044b727c33dfbe662f68512d0da0775a4805f360.1655299267.git.michal.simek@amd.com
This commit is contained in:
Michal Simek 2022-06-24 14:15:00 +02:00
parent 986727ca11
commit b6fe10afe9

View file

@ -14,15 +14,16 @@
.global _start
_start:
mts rmsr, r0 /* disable cache */
mfs r20, rpc
addi r20, r20, -4
mts rslr, r0
addi r8, r0, _start
mts rshr, r8
mts rshr, r20
#if defined(CONFIG_SPL_BUILD)
addi r1, r0, CONFIG_SPL_STACK_ADDR
#else
add r1, r0, r8
add r1, r0, r20
#endif
addi r1, r1, -4 /* Decrement SP to top of memory */