On 13:00-20250416, Anshul Dalal wrote: > The change to ATF's PRELOADED_BL33_BASE[1] requires respective changes to > SPL_TEXT_BASE on u-boot side. This is necessary to allow the ATF to jump > directly to linux kernel (like in falcon mode) which requires a 2MiB aligned > load address[2]. The current address ATF jumps to is 0x80080000 which is not > 2MiB aligned. > > Therefore in parallel to the ATF change, this patch set makes the > corresponding > changes to u-boot. To maintain backwards compatibility with older ATF builds > (that still use older address of 0x80080000), the patch set also adds a > jump-stub which modifies the execution as follows: > > Old ATF -> 0x80080000 -> 0x822000000 (Main domain SPL or kernel image) > jump stub SPL_TEXT_BASE > > With the following instructions loaded by the jump-stub: > ADDR | Instruction > 0x80080000 | mov x15, CONFIG_SPL_TEXT_BASE (0x822000000) > 0x80080004 | br x15 > > Depends on: > * [PATCH v3] configs: set SPL_TEXT_BASE by default for k3 platforms > https://lore.kernel.org/u-boot/20250415095028.446254-1-ansh...@ti.com/ > > [1]: > https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/37447 > [2]: > "The Image must be placed text_offset bytes from a 2MB aligned base > address anywhere in usable system RAM and called there." > - Documentation/arch/arm64/booting.rst (linux kernel) > > Anshul Dalal (4): > spl: Kconfig: k3: set SPL_TEXT_BASE to 0x82200000 > mach-k3: add a jump stub to support older ATF builds > binman: k3: add jump-stub to tispl.bin > binman: k3: add jump-stub as loadable
How about u-boot documentation? > > arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi | 2 +- > arch/arm/dts/k3-am625-phycore-som-binman.dtsi | 4 +-- > arch/arm/dts/k3-am625-sk-binman.dtsi | 4 +-- > .../dts/k3-am625-verdin-wifi-dev-binman.dtsi | 4 +-- > arch/arm/dts/k3-am62a-phycore-som-binman.dtsi | 4 +-- > arch/arm/dts/k3-am62a-sk-binman.dtsi | 4 +-- > arch/arm/dts/k3-am62p-sk-binman.dtsi | 2 +- > arch/arm/dts/k3-am642-phycore-som-binman.dtsi | 8 ++--- > arch/arm/dts/k3-am64x-binman.dtsi | 8 ++--- > arch/arm/dts/k3-am65-iot2050-boot-image.dtsi | 2 +- > arch/arm/dts/k3-am65x-binman.dtsi | 4 +-- > arch/arm/dts/k3-am67a-beagley-ai-u-boot.dtsi | 2 +- > arch/arm/dts/k3-binman.dtsi | 31 +++++++++++++++++++ > arch/arm/dts/k3-j7200-binman.dtsi | 4 +-- > .../dts/k3-j721e-beagleboneai64-u-boot.dtsi | 2 +- > arch/arm/dts/k3-j721e-binman.dtsi | 4 +-- > arch/arm/dts/k3-j721s2-binman.dtsi | 4 +-- > arch/arm/dts/k3-j722s-binman.dtsi | 2 +- > arch/arm/dts/k3-j784s4-binman.dtsi | 4 +-- > arch/arm/mach-k3/Makefile | 7 +++++ > arch/arm/mach-k3/jump_stub.S | 16 ++++++++++ > common/spl/Kconfig | 2 +- > 22 files changed, 89 insertions(+), 35 deletions(-) > create mode 100644 arch/arm/mach-k3/jump_stub.S > > -- > 2.49.0 > -- Regards, Nishanth Menon Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D