From: sashiko-bot@kernel.org
To: "Markus Schneider-Pargmann (TI)" <msp@baylibre.com>
Cc: conor+dt@kernel.org, robh@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v8 7/9] arm64: dts: ti: k3-am62a: Split r5f memory region
Date: Thu, 03 Sep 2026 12:55:33 +0000 [thread overview]
Message-ID: <20260903125534.48D651F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260903-topic-am62a-ioddr-dt-v6-19-v8-7-74c650dfdea6@baylibre.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Critical] ABI breakage causing monolithic firmware loads to fail.
- [High] SPL memory allocator overwrites DM firmware due to missing bootph-pre-ram tags.
--
commit f1d8c1de00b90f262848fa5af621458f523e6277
Author: Markus Schneider-Pargmann (TI) <msp@baylibre.com>
arm64: dts: ti: k3-am62a: Split r5f memory region
Split the firmware memory region in more specific parts so it is better
described where to find which information. Specifically the LPM metadata
region is important as bootloader software like U-Boot has to know where
that data is to be able to read that data.
> diff --git a/arch/arm64/boot/dts/ti/k3-am62a-ti-ipc-firmware.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-ti-ipc-firmware.dtsi
> index 06d4e815b1670..94c1d60d8d7a1 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62a-ti-ipc-firmware.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62a-ti-ipc-firmware.dtsi
> @@ -65,8 +65,14 @@ &wkup_r5fss0 {
> &wkup_r5fss0_core0 {
> mboxes = <&mailbox0_cluster0>, <&mbox_r5_0>;
> memory-region = <&wkup_r5fss0_core0_dma_memory_region>,
> - <&wkup_r5fss0_core0_memory_region>;
> - memory-region-names = "dma", "firmware";
> + <&wkup_r5fss0_core0_ipc_region>,
> + <&wkup_r5fss0_core0_lpm_fs_stub_region>,
> + <&wkup_r5fss0_core0_lpm_metadata_region>,
> + <&wkup_r5fss0_core0_lpm_rest_region>,
> + <&wkup_r5fss0_core0_dm_region>;
> + memory-region-names = "dma", "ipc", "lpm-stub",
> + "lpm-metadata", "lpm-context",
> + "dm-firmware";
> status = "okay";
> };
[Severity: Critical]
By splitting the single firmware region into smaller parts, does this break
loading existing legacy ELF firmwares?
The remoteproc driver uses k3_rproc_da_to_va() to translate addresses, which
requires the entire ELF segment to fit within a single DT memory region:
drivers/remoteproc/ti_k3_common.c:k3_rproc_da_to_va() {
...
if (da >= dev_addr && ((da + len) <= (dev_addr + size))) {
offset = da - dev_addr;
va = kproc->rmem[i].cpu_addr + offset;
return (__force void *)va;
}
...
}
Will large segments from a monolithic firmware fail to fit in any of these
new smaller boundaries and cause address translation to fail unconditionally?
> diff --git a/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts b/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
> index a8c794d073431..7cba3ff99e6a3 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
> @@ -65,13 +65,37 @@ wkup_r5fss0_core0_dma_memory_region: memory@9c800000 {
> no-map;
> };
>
> - wkup_r5fss0_core0_memory_region: memory@9c900000 {
> + wkup_r5fss0_core0_ipc_region: memory@9c900000 {
> compatible = "shared-dma-pool";
> - reg = <0x00 0x9c900000 0x00 0x1e00000>;
> + reg = <0x00 0x9c900000 0x00 0x100000>;
> + no-map;
> + };
> +
> + wkup_r5fss0_core0_lpm_fs_stub_region: memory@9ca00000 {
> + compatible = "shared-dma-pool";
> + reg = <0x00 0x9ca00000 0x00 0x8000>;
> + no-map;
> + };
> +
> + wkup_r5fss0_core0_lpm_metadata_region: memory@9ca08000 {
> + compatible = "shared-dma-pool";
> + reg = <0x00 0x9ca08000 0x00 0x1000>;
> no-map;
> bootph-pre-ram;
> };
>
> + wkup_r5fss0_core0_lpm_rest_region: memory@9ca09000 {
> + compatible = "shared-dma-pool";
> + reg = <0x00 0x9ca09000 0x00 0x97000>;
> + no-map;
> + };
> +
> + wkup_r5fss0_core0_dm_region: memory@9caa0000 {
> + compatible = "shared-dma-pool";
> + reg = <0x00 0x9caa0000 0x00 0x1c60000>;
> + no-map;
> + };
[Severity: High]
The previous wkup_r5fss0_core0_memory_region had a bootph-pre-ram property
so it would be included in the SPL device tree and marked no-map. By dropping
bootph-pre-ram from wkup_r5fss0_core0_dm_region (and other new regions), will
U-Boot's fdtgrep fail to include these nodes in the SPL?
Could this cause the SPL memory allocator to treat the 28MB unreserved
wkup_r5fss0_core0_dm_region as free RAM and overwrite the live DM firmware
during boot?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260903-topic-am62a-ioddr-dt-v6-19-v8-0-74c650dfdea6@baylibre.com?part=7
next prev parent reply other threads:[~2026-09-03 12:55 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-03 12:39 [PATCH v8 0/9] arm64: dts: ti: Split wkup R5F memory region for IO+DDR resume Markus Schneider-Pargmann (TI)
2026-09-03 12:39 ` [PATCH v8 1/9] arm64: dts: ti: k3-am62a-phycore-som: Fix wkup R5F memory region size Markus Schneider-Pargmann (TI)
2026-09-03 14:52 ` Andrew Davis
2026-09-03 15:20 ` Bryan Brattlof
2026-09-03 12:39 ` [PATCH v8 2/9] arm64: dts: ti: k3-am62d2-evm: " Markus Schneider-Pargmann (TI)
2026-09-03 12:39 ` [PATCH v8 3/9] arm64: dts: ti: k3-am62a7-sk: " Markus Schneider-Pargmann (TI)
2026-09-03 15:34 ` Bryan Brattlof
2026-09-03 12:39 ` [PATCH v8 4/9] arm64: dts: ti: k3-am62p-verdin: " Markus Schneider-Pargmann (TI)
2026-09-03 12:39 ` [PATCH v8 5/9] arm64: dts: ti: k3-am62p5-sk: " Markus Schneider-Pargmann (TI)
2026-09-03 12:39 ` [PATCH v8 6/9] arm64: dts: ti: var-som-am62p: " Markus Schneider-Pargmann (TI)
2026-09-03 12:39 ` [PATCH v8 7/9] arm64: dts: ti: k3-am62a: Split r5f memory region Markus Schneider-Pargmann (TI)
2026-09-03 12:55 ` sashiko-bot [this message]
2026-09-03 14:55 ` Markus Schneider-Pargmann
2026-09-03 12:39 ` [PATCH v8 8/9] arm64: dts: ti: k3-am62p: " Markus Schneider-Pargmann (TI)
2026-09-03 12:57 ` sashiko-bot
2026-09-04 7:35 ` Markus Schneider-Pargmann
2026-09-03 12:39 ` [PATCH v8 9/9] arm64: dts: ti: Add wkup R5F nodes to pre-ram bootphase Markus Schneider-Pargmann (TI)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260903125534.48D651F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=msp@baylibre.com \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox