mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 06:00:43 +00:00
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:
parent
986727ca11
commit
b6fe10afe9
1 changed files with 4 additions and 3 deletions
|
@ -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 */
|
||||
|
|
Loading…
Reference in a new issue