Add various symbols so that this feature works as intended. This allows xPL to copy the relocating-jump code up to the top of memory, then use it to decompress and start the next phase.
Signed-off-by: Simon Glass <s...@chromium.org> --- arch/arm/mach-rockchip/u-boot-tpl-v8.lds | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arch/arm/mach-rockchip/u-boot-tpl-v8.lds b/arch/arm/mach-rockchip/u-boot-tpl-v8.lds index 958a1b70aef..842bd4eb07f 100644 --- a/arch/arm/mach-rockchip/u-boot-tpl-v8.lds +++ b/arch/arm/mach-rockchip/u-boot-tpl-v8.lds @@ -25,10 +25,21 @@ SECTIONS __image_copy_start = ADDR(.text); .text : { . = ALIGN(8); + __image_copy_start = .; CPUDIR/start.o (.text*) + + /* put relocation code all together */ + //. = . + 0xc0; + _rcode_start = .; + *(.text.rcode) + *(.text.rdata) + _rcode_end = .; + *(.text*) } + _rcode_size = _rcode_end - _rcode_start; + .rodata : { . = ALIGN(8); *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) @@ -48,6 +59,7 @@ SECTIONS __image_copy_end = .; _end = .; _image_binary_end = .; + __image_copy_end = .; .bss ALIGN(8) : { __bss_start = .; @@ -55,6 +67,7 @@ SECTIONS . = ALIGN(8); __bss_end = .; } + __bss_size = __bss_end - __bss_start; /DISCARD/ : { *(.dynsym) } /DISCARD/ : { *(.dynstr*) } -- 2.43.0