Hi Simon, On 2025-03-28 16:35, Simon Glass wrote: > 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> > --- > > (no changes since v1) > > 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 = .;
__image_copy_start is defined a few lines above, why is this duplication needed? > 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 = .; __image_copy_end is defined a few lines above, why is this duplication needed? Regards, Jonas > > .bss ALIGN(8) : { > __bss_start = .; > @@ -55,6 +67,7 @@ SECTIONS > . = ALIGN(8); > __bss_end = .; > } > + __bss_size = __bss_end - __bss_start; > > /DISCARD/ : { *(.dynsym) } > /DISCARD/ : { *(.dynstr*) }