* [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer @ 2025-04-06 21:12 Aaron Kling via B4 Relay 2025-04-07 12:47 ` Rob Herring (Arm) ` (2 more replies) 0 siblings, 3 replies; 19+ messages in thread From: Aaron Kling via B4 Relay @ 2025-04-06 21:12 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli Cc: devicetree, linux-tegra, linux-kernel, linux-hardening, Aaron Kling From: Aaron Kling <webgeek1234@gmail.com> This allows using pstore on all such platforms. There are some differences per arch: * Tegra132: Flounder does not appear to enumerate pstore and I do not have access to norrin, thus Tegra132 is left out of this commit. * Tegra210: Does not support ramoops carveouts in the bootloader, instead relying on a dowstream driver to allocate the carveout, hence this hardcodes a location matching what the downstream driver picks. * Tegra186 and Tegra194 on cboot: Bootloader fills in the address and size in a node specifically named /reserved-memory/ramoops_carveout, thus these cannot be renamed. * Tegra194 and Tegra234 on edk2: Bootloader looks up the node based on compatible, however the dt still does not know the address, so keeping the node name consistent on Tegra186 and newer. Signed-off-by: Aaron Kling <webgeek1234@gmail.com> --- arch/arm64/boot/dts/nvidia/tegra186.dtsi | 16 ++++++++++++++++ arch/arm64/boot/dts/nvidia/tegra194.dtsi | 16 ++++++++++++++++ arch/arm64/boot/dts/nvidia/tegra210.dtsi | 13 +++++++++++++ arch/arm64/boot/dts/nvidia/tegra234.dtsi | 16 ++++++++++++++++ 4 files changed, 61 insertions(+) diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi b/arch/arm64/boot/dts/nvidia/tegra186.dtsi index 2b3bb5d0af17bd521f87db0484fcbe943dd1a797..2e2b27deb957dfd754e42dd03f5a1da5079971dc 100644 --- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi +++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi @@ -2051,6 +2051,22 @@ pmu-denver { interrupt-affinity = <&denver_0 &denver_1>; }; + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + ramoops_carveout { + compatible = "ramoops"; + size = <0x0 0x200000>; + record-size = <0x00010000>; + console-size = <0x00080000>; + alignment = <0x0 0x10000>; + alloc-ranges = <0x0 0x0 0x1 0x0>; + no-map; + }; + }; + sound { status = "disabled"; diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi b/arch/arm64/boot/dts/nvidia/tegra194.dtsi index 33f92b77cd9d9e530eae87a4bb8ba61993ceffeb..90ffea161a57a8986c2493573c73e3cf9e2c43c0 100644 --- a/arch/arm64/boot/dts/nvidia/tegra194.dtsi +++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi @@ -3105,6 +3105,22 @@ psci { method = "smc"; }; + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + ramoops_carveout { + compatible = "ramoops"; + size = <0x0 0x200000>; + record-size = <0x00010000>; + console-size = <0x00080000>; + alignment = <0x0 0x10000>; + alloc-ranges = <0x0 0x0 0x1 0x0>; + no-map; + }; + }; + tcu: serial { compatible = "nvidia,tegra194-tcu"; mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_SM TEGRA_HSP_SM_RX(0)>, diff --git a/arch/arm64/boot/dts/nvidia/tegra210.dtsi b/arch/arm64/boot/dts/nvidia/tegra210.dtsi index b6c84d195c0ef9ae90721fada09ffd46a9c11fa3..00ae127e8b8af3fe3b95d8ce5986d937a4fc6325 100644 --- a/arch/arm64/boot/dts/nvidia/tegra210.dtsi +++ b/arch/arm64/boot/dts/nvidia/tegra210.dtsi @@ -2025,6 +2025,19 @@ pmu { &{/cpus/cpu@2} &{/cpus/cpu@3}>; }; + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + ramoops@b0000000 { + compatible = "ramoops"; + reg = <0x0 0xb0000000 0x0 0x200000>; + record-size = <0x00010000>; + console-size = <0x00080000>; + }; + }; + sound { status = "disabled"; diff --git a/arch/arm64/boot/dts/nvidia/tegra234.dtsi b/arch/arm64/boot/dts/nvidia/tegra234.dtsi index 2601b43b2d8cadeb0d1f428018a82b144aa79392..36f35c6dc774d42aca8871dbfa0e0a16414cb860 100644 --- a/arch/arm64/boot/dts/nvidia/tegra234.dtsi +++ b/arch/arm64/boot/dts/nvidia/tegra234.dtsi @@ -5723,6 +5723,22 @@ psci { method = "smc"; }; + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + ramoops_carveout { + compatible = "ramoops"; + size = <0x0 0x200000>; + record-size = <0x00010000>; + console-size = <0x00080000>; + alignment = <0x0 0x10000>; + alloc-ranges = <0x0 0x0 0x1 0x0>; + no-map; + }; + }; + tcu: serial { compatible = "nvidia,tegra234-tcu", "nvidia,tegra194-tcu"; mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_SM TEGRA_HSP_SM_RX(0)>, --- base-commit: 91e5bfe317d8f8471fbaa3e70cf66cae1314a516 change-id: 20250404-tegra-pstore-5bed3f721390 Best regards, -- Aaron Kling <webgeek1234@gmail.com> ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-04-06 21:12 [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer Aaron Kling via B4 Relay @ 2025-04-07 12:47 ` Rob Herring (Arm) 2025-04-07 12:59 ` Krzysztof Kozlowski 2025-05-08 21:33 ` Thierry Reding 2 siblings, 0 replies; 19+ messages in thread From: Rob Herring (Arm) @ 2025-04-07 12:47 UTC (permalink / raw) To: Aaron Kling Cc: Tony Luck, devicetree, Jonathan Hunter, Conor Dooley, linux-kernel, Kees Cook, linux-tegra, linux-hardening, Krzysztof Kozlowski, Thierry Reding, Guilherme G. Piccoli On Sun, 06 Apr 2025 16:12:43 -0500, Aaron Kling wrote: > This allows using pstore on all such platforms. There are some > differences per arch: > > * Tegra132: Flounder does not appear to enumerate pstore and I do not > have access to norrin, thus Tegra132 is left out of this commit. > * Tegra210: Does not support ramoops carveouts in the bootloader, instead > relying on a dowstream driver to allocate the carveout, hence this > hardcodes a location matching what the downstream driver picks. > * Tegra186 and Tegra194 on cboot: Bootloader fills in the address and > size in a node specifically named /reserved-memory/ramoops_carveout, > thus these cannot be renamed. > * Tegra194 and Tegra234 on edk2: Bootloader looks up the node based on > compatible, however the dt still does not know the address, so keeping > the node name consistent on Tegra186 and newer. > > Signed-off-by: Aaron Kling <webgeek1234@gmail.com> > --- > arch/arm64/boot/dts/nvidia/tegra186.dtsi | 16 ++++++++++++++++ > arch/arm64/boot/dts/nvidia/tegra194.dtsi | 16 ++++++++++++++++ > arch/arm64/boot/dts/nvidia/tegra210.dtsi | 13 +++++++++++++ > arch/arm64/boot/dts/nvidia/tegra234.dtsi | 16 ++++++++++++++++ > 4 files changed, 61 insertions(+) > My bot found new DTB warnings on the .dts files added or changed in this series. Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings are fixed by another series. Ultimately, it is up to the platform maintainer whether these warnings are acceptable or not. No need to reply unless the platform maintainer has comments. If you already ran DT checks and didn't see these error(s), then make sure dt-schema is up to date: pip3 install dtschema --upgrade This patch series was applied (using b4) to base: Base: using specified base-commit 91e5bfe317d8f8471fbaa3e70cf66cae1314a516 If this is not the correct base, please add 'base-commit' tag (or use b4 which does this automatically) New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/nvidia/' for 20250406-tegra-pstore-v1-1-bf5b57f12293@gmail.com: arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dtb: ramoops_carveout (ramoops): 'reg' is a required property from schema $id: http://devicetree.org/schemas/reserved-memory/ramoops.yaml# arch/arm64/boot/dts/nvidia/tegra234-sim-vdk.dtb: ramoops_carveout (ramoops): 'reg' is a required property from schema $id: http://devicetree.org/schemas/reserved-memory/ramoops.yaml# arch/arm64/boot/dts/nvidia/tegra194-p3509-0000+p3668-0000.dtb: ramoops_carveout (ramoops): 'reg' is a required property from schema $id: http://devicetree.org/schemas/reserved-memory/ramoops.yaml# arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767-0000.dtb: ramoops_carveout (ramoops): 'reg' is a required property from schema $id: http://devicetree.org/schemas/reserved-memory/ramoops.yaml# arch/arm64/boot/dts/nvidia/tegra234-p3740-0002+p3701-0008.dtb: ramoops_carveout (ramoops): 'reg' is a required property from schema $id: http://devicetree.org/schemas/reserved-memory/ramoops.yaml# arch/arm64/boot/dts/nvidia/tegra234-p3737-0000+p3701-0008.dtb: ramoops_carveout (ramoops): 'reg' is a required property from schema $id: http://devicetree.org/schemas/reserved-memory/ramoops.yaml# arch/arm64/boot/dts/nvidia/tegra186-p3509-0000+p3636-0001.dtb: ramoops_carveout (ramoops): 'reg' is a required property from schema $id: http://devicetree.org/schemas/reserved-memory/ramoops.yaml# arch/arm64/boot/dts/nvidia/tegra234-p3737-0000+p3701-0000.dtb: ramoops_carveout (ramoops): 'reg' is a required property from schema $id: http://devicetree.org/schemas/reserved-memory/ramoops.yaml# arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dtb: ramoops_carveout (ramoops): 'reg' is a required property from schema $id: http://devicetree.org/schemas/reserved-memory/ramoops.yaml# arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767-0005.dtb: ramoops_carveout (ramoops): 'reg' is a required property from schema $id: http://devicetree.org/schemas/reserved-memory/ramoops.yaml# arch/arm64/boot/dts/nvidia/tegra194-p3509-0000+p3668-0001.dtb: ramoops_carveout (ramoops): 'reg' is a required property from schema $id: http://devicetree.org/schemas/reserved-memory/ramoops.yaml# ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-04-06 21:12 [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer Aaron Kling via B4 Relay 2025-04-07 12:47 ` Rob Herring (Arm) @ 2025-04-07 12:59 ` Krzysztof Kozlowski 2025-04-07 16:00 ` Aaron Kling 2025-05-08 21:33 ` Thierry Reding 2 siblings, 1 reply; 19+ messages in thread From: Krzysztof Kozlowski @ 2025-04-07 12:59 UTC (permalink / raw) To: webgeek1234, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli Cc: devicetree, linux-tegra, linux-kernel, linux-hardening On 06/04/2025 23:12, Aaron Kling via B4 Relay wrote: > From: Aaron Kling <webgeek1234@gmail.com> > > This allows using pstore on all such platforms. There are some > differences per arch: > > * Tegra132: Flounder does not appear to enumerate pstore and I do not > have access to norrin, thus Tegra132 is left out of this commit. > * Tegra210: Does not support ramoops carveouts in the bootloader, instead > relying on a dowstream driver to allocate the carveout, hence this > hardcodes a location matching what the downstream driver picks. > * Tegra186 and Tegra194 on cboot: Bootloader fills in the address and > size in a node specifically named /reserved-memory/ramoops_carveout, > thus these cannot be renamed. > * Tegra194 and Tegra234 on edk2: Bootloader looks up the node based on > compatible, however the dt still does not know the address, so keeping > the node name consistent on Tegra186 and newer. > > Signed-off-by: Aaron Kling <webgeek1234@gmail.com> > --- > arch/arm64/boot/dts/nvidia/tegra186.dtsi | 16 ++++++++++++++++ > arch/arm64/boot/dts/nvidia/tegra194.dtsi | 16 ++++++++++++++++ > arch/arm64/boot/dts/nvidia/tegra210.dtsi | 13 +++++++++++++ > arch/arm64/boot/dts/nvidia/tegra234.dtsi | 16 ++++++++++++++++ > 4 files changed, 61 insertions(+) > > diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi b/arch/arm64/boot/dts/nvidia/tegra186.dtsi > index 2b3bb5d0af17bd521f87db0484fcbe943dd1a797..2e2b27deb957dfd754e42dd03f5a1da5079971dc 100644 > --- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi > +++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi > @@ -2051,6 +2051,22 @@ pmu-denver { > interrupt-affinity = <&denver_0 &denver_1>; > }; > > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + ramoops_carveout { Please follow DTS coding style for name, so this is probably only ramoops. It does not look like you tested the DTS against bindings. Please run `make dtbs_check W=1` (see Documentation/devicetree/bindings/writing-schema.rst or https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/ for instructions). Maybe you need to update your dtschema and yamllint. Don't rely on distro packages for dtschema and be sure you are using the latest released dtschema. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-04-07 12:59 ` Krzysztof Kozlowski @ 2025-04-07 16:00 ` Aaron Kling 2025-04-08 6:07 ` Krzysztof Kozlowski 0 siblings, 1 reply; 19+ messages in thread From: Aaron Kling @ 2025-04-07 16:00 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli, devicetree, linux-tegra, linux-kernel, linux-hardening On Mon, Apr 7, 2025 at 7:59 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > On 06/04/2025 23:12, Aaron Kling via B4 Relay wrote: > > From: Aaron Kling <webgeek1234@gmail.com> > > > > This allows using pstore on all such platforms. There are some > > differences per arch: > > > > * Tegra132: Flounder does not appear to enumerate pstore and I do not > > have access to norrin, thus Tegra132 is left out of this commit. > > * Tegra210: Does not support ramoops carveouts in the bootloader, instead > > relying on a dowstream driver to allocate the carveout, hence this > > hardcodes a location matching what the downstream driver picks. > > * Tegra186 and Tegra194 on cboot: Bootloader fills in the address and > > size in a node specifically named /reserved-memory/ramoops_carveout, > > thus these cannot be renamed. > > * Tegra194 and Tegra234 on edk2: Bootloader looks up the node based on > > compatible, however the dt still does not know the address, so keeping > > the node name consistent on Tegra186 and newer. > > > > Signed-off-by: Aaron Kling <webgeek1234@gmail.com> > > --- > > arch/arm64/boot/dts/nvidia/tegra186.dtsi | 16 ++++++++++++++++ > > arch/arm64/boot/dts/nvidia/tegra194.dtsi | 16 ++++++++++++++++ > > arch/arm64/boot/dts/nvidia/tegra210.dtsi | 13 +++++++++++++ > > arch/arm64/boot/dts/nvidia/tegra234.dtsi | 16 ++++++++++++++++ > > 4 files changed, 61 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi b/arch/arm64/boot/dts/nvidia/tegra186.dtsi > > index 2b3bb5d0af17bd521f87db0484fcbe943dd1a797..2e2b27deb957dfd754e42dd03f5a1da5079971dc 100644 > > --- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi > > +++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi > > @@ -2051,6 +2051,22 @@ pmu-denver { > > interrupt-affinity = <&denver_0 &denver_1>; > > }; > > > > + reserved-memory { > > + #address-cells = <2>; > > + #size-cells = <2>; > > + ranges; > > + > > + ramoops_carveout { > > Please follow DTS coding style for name, so this is probably only ramoops. As per the commit message regarding tegra186: bootloader fills in the address and size in a node specifically named /reserved-memory/ramoops_carveout, thus these cannot be renamed. > > It does not look like you tested the DTS against bindings. Please run > `make dtbs_check W=1` (see > Documentation/devicetree/bindings/writing-schema.rst or > https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/ > for instructions). > Maybe you need to update your dtschema and yamllint. Don't rely on > distro packages for dtschema and be sure you are using the latest > released dtschema. The bot is reporting that the reg field is missing from the added ramoops nodes on t186, t194, and t234. However, as also mentioned in the commit message, this is intentional because it is expected for the bootloader to fill that in. It is not known at dt compile time. Is there a way to mark this as intentional, so dtschema doesn't flag it? > > Best regards, > Krzysztof Sincerely, Aaron ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-04-07 16:00 ` Aaron Kling @ 2025-04-08 6:07 ` Krzysztof Kozlowski 2025-04-08 7:35 ` Aaron Kling 0 siblings, 1 reply; 19+ messages in thread From: Krzysztof Kozlowski @ 2025-04-08 6:07 UTC (permalink / raw) To: Aaron Kling Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli, devicetree, linux-tegra, linux-kernel, linux-hardening On 07/04/2025 18:00, Aaron Kling wrote: > On Mon, Apr 7, 2025 at 7:59 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: >> >> On 06/04/2025 23:12, Aaron Kling via B4 Relay wrote: >>> From: Aaron Kling <webgeek1234@gmail.com> >>> >>> This allows using pstore on all such platforms. There are some >>> differences per arch: >>> >>> * Tegra132: Flounder does not appear to enumerate pstore and I do not >>> have access to norrin, thus Tegra132 is left out of this commit. >>> * Tegra210: Does not support ramoops carveouts in the bootloader, instead >>> relying on a dowstream driver to allocate the carveout, hence this >>> hardcodes a location matching what the downstream driver picks. >>> * Tegra186 and Tegra194 on cboot: Bootloader fills in the address and >>> size in a node specifically named /reserved-memory/ramoops_carveout, >>> thus these cannot be renamed. >>> * Tegra194 and Tegra234 on edk2: Bootloader looks up the node based on >>> compatible, however the dt still does not know the address, so keeping >>> the node name consistent on Tegra186 and newer. >>> >>> Signed-off-by: Aaron Kling <webgeek1234@gmail.com> >>> --- >>> arch/arm64/boot/dts/nvidia/tegra186.dtsi | 16 ++++++++++++++++ >>> arch/arm64/boot/dts/nvidia/tegra194.dtsi | 16 ++++++++++++++++ >>> arch/arm64/boot/dts/nvidia/tegra210.dtsi | 13 +++++++++++++ >>> arch/arm64/boot/dts/nvidia/tegra234.dtsi | 16 ++++++++++++++++ >>> 4 files changed, 61 insertions(+) >>> >>> diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi b/arch/arm64/boot/dts/nvidia/tegra186.dtsi >>> index 2b3bb5d0af17bd521f87db0484fcbe943dd1a797..2e2b27deb957dfd754e42dd03f5a1da5079971dc 100644 >>> --- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi >>> +++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi >>> @@ -2051,6 +2051,22 @@ pmu-denver { >>> interrupt-affinity = <&denver_0 &denver_1>; >>> }; >>> >>> + reserved-memory { >>> + #address-cells = <2>; >>> + #size-cells = <2>; >>> + ranges; >>> + >>> + ramoops_carveout { >> >> Please follow DTS coding style for name, so this is probably only ramoops. > > As per the commit message regarding tegra186: bootloader fills in the > address and size in a node specifically named > /reserved-memory/ramoops_carveout, thus these cannot be renamed. That's not a reason to introduce issues. Bootloader is supposed to follow same conventions or use aliases or labels (depending on the node). If bootloader adds junk, does it mean we have to accept that junk? > >> >> It does not look like you tested the DTS against bindings. Please run >> `make dtbs_check W=1` (see >> Documentation/devicetree/bindings/writing-schema.rst or >> https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/ >> for instructions). >> Maybe you need to update your dtschema and yamllint. Don't rely on >> distro packages for dtschema and be sure you are using the latest >> released dtschema. > > The bot is reporting that the reg field is missing from the added > ramoops nodes on t186, t194, and t234. However, as also mentioned in > the commit message, this is intentional because it is expected for the > bootloader to fill that in. It is not known at dt compile time. Is > there a way to mark this as intentional, so dtschema doesn't flag it? Fix your bootloader or chain load some normal one, like U-Boot. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-04-08 6:07 ` Krzysztof Kozlowski @ 2025-04-08 7:35 ` Aaron Kling 2025-04-08 8:17 ` Krzysztof Kozlowski 0 siblings, 1 reply; 19+ messages in thread From: Aaron Kling @ 2025-04-08 7:35 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli, devicetree, linux-tegra, linux-kernel, linux-hardening On Tue, Apr 8, 2025 at 1:08 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > On 07/04/2025 18:00, Aaron Kling wrote: > > On Mon, Apr 7, 2025 at 7:59 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > >> > >> On 06/04/2025 23:12, Aaron Kling via B4 Relay wrote: > >>> From: Aaron Kling <webgeek1234@gmail.com> > >>> > >>> This allows using pstore on all such platforms. There are some > >>> differences per arch: > >>> > >>> * Tegra132: Flounder does not appear to enumerate pstore and I do not > >>> have access to norrin, thus Tegra132 is left out of this commit. > >>> * Tegra210: Does not support ramoops carveouts in the bootloader, instead > >>> relying on a dowstream driver to allocate the carveout, hence this > >>> hardcodes a location matching what the downstream driver picks. > >>> * Tegra186 and Tegra194 on cboot: Bootloader fills in the address and > >>> size in a node specifically named /reserved-memory/ramoops_carveout, > >>> thus these cannot be renamed. > >>> * Tegra194 and Tegra234 on edk2: Bootloader looks up the node based on > >>> compatible, however the dt still does not know the address, so keeping > >>> the node name consistent on Tegra186 and newer. > >>> > >>> Signed-off-by: Aaron Kling <webgeek1234@gmail.com> > >>> --- > >>> arch/arm64/boot/dts/nvidia/tegra186.dtsi | 16 ++++++++++++++++ > >>> arch/arm64/boot/dts/nvidia/tegra194.dtsi | 16 ++++++++++++++++ > >>> arch/arm64/boot/dts/nvidia/tegra210.dtsi | 13 +++++++++++++ > >>> arch/arm64/boot/dts/nvidia/tegra234.dtsi | 16 ++++++++++++++++ > >>> 4 files changed, 61 insertions(+) > >>> > >>> diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi b/arch/arm64/boot/dts/nvidia/tegra186.dtsi > >>> index 2b3bb5d0af17bd521f87db0484fcbe943dd1a797..2e2b27deb957dfd754e42dd03f5a1da5079971dc 100644 > >>> --- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi > >>> +++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi > >>> @@ -2051,6 +2051,22 @@ pmu-denver { > >>> interrupt-affinity = <&denver_0 &denver_1>; > >>> }; > >>> > >>> + reserved-memory { > >>> + #address-cells = <2>; > >>> + #size-cells = <2>; > >>> + ranges; > >>> + > >>> + ramoops_carveout { > >> > >> Please follow DTS coding style for name, so this is probably only ramoops. > > > > As per the commit message regarding tegra186: bootloader fills in the > > address and size in a node specifically named > > /reserved-memory/ramoops_carveout, thus these cannot be renamed. > > That's not a reason to introduce issues. Bootloader is supposed to > follow same conventions or use aliases or labels (depending on the node). > > If bootloader adds junk, does it mean we have to accept that junk? > > > > >> > >> It does not look like you tested the DTS against bindings. Please run > >> `make dtbs_check W=1` (see > >> Documentation/devicetree/bindings/writing-schema.rst or > >> https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/ > >> for instructions). > >> Maybe you need to update your dtschema and yamllint. Don't rely on > >> distro packages for dtschema and be sure you are using the latest > >> released dtschema. > > > > The bot is reporting that the reg field is missing from the added > > ramoops nodes on t186, t194, and t234. However, as also mentioned in > > the commit message, this is intentional because it is expected for the > > bootloader to fill that in. It is not known at dt compile time. Is > > there a way to mark this as intentional, so dtschema doesn't flag it? > > Fix your bootloader or chain load some normal one, like U-Boot. How would chainloading a second bootloader 'fix' previous stage bootloaders trampling on an out-of-sync hardcoded reserved-memory address? It's possible for carveout addresses and sizes to change. Not from boot to boot on the same version of the Nvidia bootloader, but potentially from one version to another. Depending on if the bootloader was configured with different carveout sizes. There is precedence for this. When blind cleanup was done on arm device trees, a chromebook broke because the memory node has to be named exactly '/memory' [0]. How is this any different from that case? These nodes are an ABI to an existing bootloader. Carveouts on these archs are set up in bl1 or bl2, which are not source available. I could potentially hardcode things for myself in bl33, which is source available, but the earlier stages could still overwrite any chosen block depending on how carveouts are configured. But even then, that will not change the behaviour of the vast majority of units that use a fully prebuilt boot stack direct from Nvidia. My intent here is for pstore to work on such units without users needing to use a custom bootloader. > > Best regards, > Krzysztof Sincerely, Aaron [0] https://patchwork.kernel.org/project/linux-arm-kernel/patch/20190211110919.10388-1-thierry.reding@gmail.com/#22474263 ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-04-08 7:35 ` Aaron Kling @ 2025-04-08 8:17 ` Krzysztof Kozlowski 2025-04-08 8:49 ` Aaron Kling 0 siblings, 1 reply; 19+ messages in thread From: Krzysztof Kozlowski @ 2025-04-08 8:17 UTC (permalink / raw) To: Aaron Kling Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli, devicetree, linux-tegra, linux-kernel, linux-hardening On 08/04/2025 09:35, Aaron Kling wrote: > On Tue, Apr 8, 2025 at 1:08 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: >> >> On 07/04/2025 18:00, Aaron Kling wrote: >>> On Mon, Apr 7, 2025 at 7:59 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: >>>> >>>> On 06/04/2025 23:12, Aaron Kling via B4 Relay wrote: >>>>> From: Aaron Kling <webgeek1234@gmail.com> >>>>> >>>>> This allows using pstore on all such platforms. There are some >>>>> differences per arch: >>>>> >>>>> * Tegra132: Flounder does not appear to enumerate pstore and I do not >>>>> have access to norrin, thus Tegra132 is left out of this commit. >>>>> * Tegra210: Does not support ramoops carveouts in the bootloader, instead >>>>> relying on a dowstream driver to allocate the carveout, hence this >>>>> hardcodes a location matching what the downstream driver picks. >>>>> * Tegra186 and Tegra194 on cboot: Bootloader fills in the address and >>>>> size in a node specifically named /reserved-memory/ramoops_carveout, >>>>> thus these cannot be renamed. >>>>> * Tegra194 and Tegra234 on edk2: Bootloader looks up the node based on >>>>> compatible, however the dt still does not know the address, so keeping >>>>> the node name consistent on Tegra186 and newer. >>>>> >>>>> Signed-off-by: Aaron Kling <webgeek1234@gmail.com> >>>>> --- >>>>> arch/arm64/boot/dts/nvidia/tegra186.dtsi | 16 ++++++++++++++++ >>>>> arch/arm64/boot/dts/nvidia/tegra194.dtsi | 16 ++++++++++++++++ >>>>> arch/arm64/boot/dts/nvidia/tegra210.dtsi | 13 +++++++++++++ >>>>> arch/arm64/boot/dts/nvidia/tegra234.dtsi | 16 ++++++++++++++++ >>>>> 4 files changed, 61 insertions(+) >>>>> >>>>> diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi b/arch/arm64/boot/dts/nvidia/tegra186.dtsi >>>>> index 2b3bb5d0af17bd521f87db0484fcbe943dd1a797..2e2b27deb957dfd754e42dd03f5a1da5079971dc 100644 >>>>> --- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi >>>>> +++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi >>>>> @@ -2051,6 +2051,22 @@ pmu-denver { >>>>> interrupt-affinity = <&denver_0 &denver_1>; >>>>> }; >>>>> >>>>> + reserved-memory { >>>>> + #address-cells = <2>; >>>>> + #size-cells = <2>; >>>>> + ranges; >>>>> + >>>>> + ramoops_carveout { >>>> >>>> Please follow DTS coding style for name, so this is probably only ramoops. >>> >>> As per the commit message regarding tegra186: bootloader fills in the >>> address and size in a node specifically named >>> /reserved-memory/ramoops_carveout, thus these cannot be renamed. >> >> That's not a reason to introduce issues. Bootloader is supposed to >> follow same conventions or use aliases or labels (depending on the node). >> >> If bootloader adds junk, does it mean we have to accept that junk? >> >>> >>>> >>>> It does not look like you tested the DTS against bindings. Please run >>>> `make dtbs_check W=1` (see >>>> Documentation/devicetree/bindings/writing-schema.rst or >>>> https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/ >>>> for instructions). >>>> Maybe you need to update your dtschema and yamllint. Don't rely on >>>> distro packages for dtschema and be sure you are using the latest >>>> released dtschema. >>> >>> The bot is reporting that the reg field is missing from the added >>> ramoops nodes on t186, t194, and t234. However, as also mentioned in >>> the commit message, this is intentional because it is expected for the >>> bootloader to fill that in. It is not known at dt compile time. Is >>> there a way to mark this as intentional, so dtschema doesn't flag it? >> >> Fix your bootloader or chain load some normal one, like U-Boot. > How would chainloading a second bootloader 'fix' previous stage > bootloaders trampling on an out-of-sync hardcoded reserved-memory > address? It's possible for carveout addresses and sizes to change. Not > from boot to boot on the same version of the Nvidia bootloader, but > potentially from one version to another. Depending on if the > bootloader was configured with different carveout sizes. > > There is precedence for this. When blind cleanup was done on arm > device trees, a chromebook broke because the memory node has to be > named exactly '/memory' [0]. How is this any different from that case? That was an existing node, so ABI. > These nodes are an ABI to an existing bootloader. Carveouts on these You add new ABI, which I object to. > archs are set up in bl1 or bl2, which are not source available. I > could potentially hardcode things for myself in bl33, which is source > available, but the earlier stages could still overwrite any chosen > block depending on how carveouts are configured. But even then, that > will not change the behaviour of the vast majority of units that use a > fully prebuilt boot stack direct from Nvidia. My intent here is for > pstore to work on such units without users needing to use a custom > bootloader. I understand your goal. What I still do not understand, why bootloader even bothers with ramoops carveout. It shouldn't and you should just ignore whatever bootloader provides, no? It's not the same case as memory, where bootloader needs to fill out the actual size, or some other boot-specific properties. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-04-08 8:17 ` Krzysztof Kozlowski @ 2025-04-08 8:49 ` Aaron Kling 2025-04-21 1:45 ` Aaron Kling 0 siblings, 1 reply; 19+ messages in thread From: Aaron Kling @ 2025-04-08 8:49 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli, devicetree, linux-tegra, linux-kernel, linux-hardening On Tue, Apr 8, 2025 at 3:17 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > On 08/04/2025 09:35, Aaron Kling wrote: > > On Tue, Apr 8, 2025 at 1:08 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > >> > >> On 07/04/2025 18:00, Aaron Kling wrote: > >>> On Mon, Apr 7, 2025 at 7:59 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > >>>> > >>>> On 06/04/2025 23:12, Aaron Kling via B4 Relay wrote: > >>>>> From: Aaron Kling <webgeek1234@gmail.com> > >>>>> > >>>>> This allows using pstore on all such platforms. There are some > >>>>> differences per arch: > >>>>> > >>>>> * Tegra132: Flounder does not appear to enumerate pstore and I do not > >>>>> have access to norrin, thus Tegra132 is left out of this commit. > >>>>> * Tegra210: Does not support ramoops carveouts in the bootloader, instead > >>>>> relying on a dowstream driver to allocate the carveout, hence this > >>>>> hardcodes a location matching what the downstream driver picks. > >>>>> * Tegra186 and Tegra194 on cboot: Bootloader fills in the address and > >>>>> size in a node specifically named /reserved-memory/ramoops_carveout, > >>>>> thus these cannot be renamed. > >>>>> * Tegra194 and Tegra234 on edk2: Bootloader looks up the node based on > >>>>> compatible, however the dt still does not know the address, so keeping > >>>>> the node name consistent on Tegra186 and newer. > >>>>> > >>>>> Signed-off-by: Aaron Kling <webgeek1234@gmail.com> > >>>>> --- > >>>>> arch/arm64/boot/dts/nvidia/tegra186.dtsi | 16 ++++++++++++++++ > >>>>> arch/arm64/boot/dts/nvidia/tegra194.dtsi | 16 ++++++++++++++++ > >>>>> arch/arm64/boot/dts/nvidia/tegra210.dtsi | 13 +++++++++++++ > >>>>> arch/arm64/boot/dts/nvidia/tegra234.dtsi | 16 ++++++++++++++++ > >>>>> 4 files changed, 61 insertions(+) > >>>>> > >>>>> diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi b/arch/arm64/boot/dts/nvidia/tegra186.dtsi > >>>>> index 2b3bb5d0af17bd521f87db0484fcbe943dd1a797..2e2b27deb957dfd754e42dd03f5a1da5079971dc 100644 > >>>>> --- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi > >>>>> +++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi > >>>>> @@ -2051,6 +2051,22 @@ pmu-denver { > >>>>> interrupt-affinity = <&denver_0 &denver_1>; > >>>>> }; > >>>>> > >>>>> + reserved-memory { > >>>>> + #address-cells = <2>; > >>>>> + #size-cells = <2>; > >>>>> + ranges; > >>>>> + > >>>>> + ramoops_carveout { > >>>> > >>>> Please follow DTS coding style for name, so this is probably only ramoops. > >>> > >>> As per the commit message regarding tegra186: bootloader fills in the > >>> address and size in a node specifically named > >>> /reserved-memory/ramoops_carveout, thus these cannot be renamed. > >> > >> That's not a reason to introduce issues. Bootloader is supposed to > >> follow same conventions or use aliases or labels (depending on the node). > >> > >> If bootloader adds junk, does it mean we have to accept that junk? > >> > >>> > >>>> > >>>> It does not look like you tested the DTS against bindings. Please run > >>>> `make dtbs_check W=1` (see > >>>> Documentation/devicetree/bindings/writing-schema.rst or > >>>> https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/ > >>>> for instructions). > >>>> Maybe you need to update your dtschema and yamllint. Don't rely on > >>>> distro packages for dtschema and be sure you are using the latest > >>>> released dtschema. > >>> > >>> The bot is reporting that the reg field is missing from the added > >>> ramoops nodes on t186, t194, and t234. However, as also mentioned in > >>> the commit message, this is intentional because it is expected for the > >>> bootloader to fill that in. It is not known at dt compile time. Is > >>> there a way to mark this as intentional, so dtschema doesn't flag it? > >> > >> Fix your bootloader or chain load some normal one, like U-Boot. > > How would chainloading a second bootloader 'fix' previous stage > > bootloaders trampling on an out-of-sync hardcoded reserved-memory > > address? It's possible for carveout addresses and sizes to change. Not > > from boot to boot on the same version of the Nvidia bootloader, but > > potentially from one version to another. Depending on if the > > bootloader was configured with different carveout sizes. > > > > There is precedence for this. When blind cleanup was done on arm > > device trees, a chromebook broke because the memory node has to be > > named exactly '/memory' [0]. How is this any different from that case? > > That was an existing node, so ABI. > > > These nodes are an ABI to an existing bootloader. Carveouts on these > > You add new ABI, which I object to. > > > archs are set up in bl1 or bl2, which are not source available. I > > could potentially hardcode things for myself in bl33, which is source > > available, but the earlier stages could still overwrite any chosen > > block depending on how carveouts are configured. But even then, that > > will not change the behaviour of the vast majority of units that use a > > fully prebuilt boot stack direct from Nvidia. My intent here is for > > pstore to work on such units without users needing to use a custom > > bootloader. > I understand your goal. What I still do not understand, why bootloader > even bothers with ramoops carveout. It shouldn't and you should just > ignore whatever bootloader provides, no? Mmm, I actually don't have the answer to this. Ramoops carveout handling was added to t186 and t194 in cboot for L4T r32.7.3, fairly late in the life cycle. But it has always been in edk2 for t194 and t234 afaik. I could hazard some guesses, but don't have any documentation on why the decision was made. Maybe Thierry or Jonathan could chime in on why this was done. > > It's not the same case as memory, where bootloader needs to fill out the > actual size, or some other boot-specific properties. > > Best regards, > Krzysztof Sincerely, Aaron ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-04-08 8:49 ` Aaron Kling @ 2025-04-21 1:45 ` Aaron Kling 2025-04-29 1:21 ` Aaron Kling 0 siblings, 1 reply; 19+ messages in thread From: Aaron Kling @ 2025-04-21 1:45 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli, devicetree, linux-tegra, linux-kernel, linux-hardening On Tue, Apr 8, 2025 at 3:49 AM Aaron Kling <webgeek1234@gmail.com> wrote: > > On Tue, Apr 8, 2025 at 3:17 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > > > On 08/04/2025 09:35, Aaron Kling wrote: > > > On Tue, Apr 8, 2025 at 1:08 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > >> > > >> On 07/04/2025 18:00, Aaron Kling wrote: > > >>> On Mon, Apr 7, 2025 at 7:59 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > >>>> > > >>>> On 06/04/2025 23:12, Aaron Kling via B4 Relay wrote: > > >>>>> From: Aaron Kling <webgeek1234@gmail.com> > > >>>>> > > >>>>> This allows using pstore on all such platforms. There are some > > >>>>> differences per arch: > > >>>>> > > >>>>> * Tegra132: Flounder does not appear to enumerate pstore and I do not > > >>>>> have access to norrin, thus Tegra132 is left out of this commit. > > >>>>> * Tegra210: Does not support ramoops carveouts in the bootloader, instead > > >>>>> relying on a dowstream driver to allocate the carveout, hence this > > >>>>> hardcodes a location matching what the downstream driver picks. > > >>>>> * Tegra186 and Tegra194 on cboot: Bootloader fills in the address and > > >>>>> size in a node specifically named /reserved-memory/ramoops_carveout, > > >>>>> thus these cannot be renamed. > > >>>>> * Tegra194 and Tegra234 on edk2: Bootloader looks up the node based on > > >>>>> compatible, however the dt still does not know the address, so keeping > > >>>>> the node name consistent on Tegra186 and newer. > > >>>>> > > >>>>> Signed-off-by: Aaron Kling <webgeek1234@gmail.com> > > >>>>> --- > > >>>>> arch/arm64/boot/dts/nvidia/tegra186.dtsi | 16 ++++++++++++++++ > > >>>>> arch/arm64/boot/dts/nvidia/tegra194.dtsi | 16 ++++++++++++++++ > > >>>>> arch/arm64/boot/dts/nvidia/tegra210.dtsi | 13 +++++++++++++ > > >>>>> arch/arm64/boot/dts/nvidia/tegra234.dtsi | 16 ++++++++++++++++ > > >>>>> 4 files changed, 61 insertions(+) > > >>>>> > > >>>>> diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi b/arch/arm64/boot/dts/nvidia/tegra186.dtsi > > >>>>> index 2b3bb5d0af17bd521f87db0484fcbe943dd1a797..2e2b27deb957dfd754e42dd03f5a1da5079971dc 100644 > > >>>>> --- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi > > >>>>> +++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi > > >>>>> @@ -2051,6 +2051,22 @@ pmu-denver { > > >>>>> interrupt-affinity = <&denver_0 &denver_1>; > > >>>>> }; > > >>>>> > > >>>>> + reserved-memory { > > >>>>> + #address-cells = <2>; > > >>>>> + #size-cells = <2>; > > >>>>> + ranges; > > >>>>> + > > >>>>> + ramoops_carveout { > > >>>> > > >>>> Please follow DTS coding style for name, so this is probably only ramoops. > > >>> > > >>> As per the commit message regarding tegra186: bootloader fills in the > > >>> address and size in a node specifically named > > >>> /reserved-memory/ramoops_carveout, thus these cannot be renamed. > > >> > > >> That's not a reason to introduce issues. Bootloader is supposed to > > >> follow same conventions or use aliases or labels (depending on the node). > > >> > > >> If bootloader adds junk, does it mean we have to accept that junk? > > >> > > >>> > > >>>> > > >>>> It does not look like you tested the DTS against bindings. Please run > > >>>> `make dtbs_check W=1` (see > > >>>> Documentation/devicetree/bindings/writing-schema.rst or > > >>>> https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/ > > >>>> for instructions). > > >>>> Maybe you need to update your dtschema and yamllint. Don't rely on > > >>>> distro packages for dtschema and be sure you are using the latest > > >>>> released dtschema. > > >>> > > >>> The bot is reporting that the reg field is missing from the added > > >>> ramoops nodes on t186, t194, and t234. However, as also mentioned in > > >>> the commit message, this is intentional because it is expected for the > > >>> bootloader to fill that in. It is not known at dt compile time. Is > > >>> there a way to mark this as intentional, so dtschema doesn't flag it? > > >> > > >> Fix your bootloader or chain load some normal one, like U-Boot. > > > How would chainloading a second bootloader 'fix' previous stage > > > bootloaders trampling on an out-of-sync hardcoded reserved-memory > > > address? It's possible for carveout addresses and sizes to change. Not > > > from boot to boot on the same version of the Nvidia bootloader, but > > > potentially from one version to another. Depending on if the > > > bootloader was configured with different carveout sizes. > > > > > > There is precedence for this. When blind cleanup was done on arm > > > device trees, a chromebook broke because the memory node has to be > > > named exactly '/memory' [0]. How is this any different from that case? > > > > That was an existing node, so ABI. > > > > > These nodes are an ABI to an existing bootloader. Carveouts on these > > > > You add new ABI, which I object to. > > > > > archs are set up in bl1 or bl2, which are not source available. I > > > could potentially hardcode things for myself in bl33, which is source > > > available, but the earlier stages could still overwrite any chosen > > > block depending on how carveouts are configured. But even then, that > > > will not change the behaviour of the vast majority of units that use a > > > fully prebuilt boot stack direct from Nvidia. My intent here is for > > > pstore to work on such units without users needing to use a custom > > > bootloader. > > I understand your goal. What I still do not understand, why bootloader > > even bothers with ramoops carveout. It shouldn't and you should just > > ignore whatever bootloader provides, no? > > Mmm, I actually don't have the answer to this. Ramoops carveout > handling was added to t186 and t194 in cboot for L4T r32.7.3, fairly > late in the life cycle. But it has always been in edk2 for t194 and > t234 afaik. I could hazard some guesses, but don't have any > documentation on why the decision was made. Maybe Thierry or Jonathan > could chime in on why this was done. > Friendly reminder to the Tegra maintainers about this question. Sincerely, Aaron Kling ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-04-21 1:45 ` Aaron Kling @ 2025-04-29 1:21 ` Aaron Kling 2025-05-08 21:27 ` Thierry Reding 0 siblings, 1 reply; 19+ messages in thread From: Aaron Kling @ 2025-04-29 1:21 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli, devicetree, linux-tegra, linux-kernel, linux-hardening On Sun, Apr 20, 2025 at 8:45 PM Aaron Kling <webgeek1234@gmail.com> wrote: > > On Tue, Apr 8, 2025 at 3:49 AM Aaron Kling <webgeek1234@gmail.com> wrote: > > > > On Tue, Apr 8, 2025 at 3:17 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > > > > > On 08/04/2025 09:35, Aaron Kling wrote: > > > > On Tue, Apr 8, 2025 at 1:08 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > > >> > > > >> On 07/04/2025 18:00, Aaron Kling wrote: > > > >>> On Mon, Apr 7, 2025 at 7:59 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > > >>>> > > > >>>> On 06/04/2025 23:12, Aaron Kling via B4 Relay wrote: > > > >>>>> From: Aaron Kling <webgeek1234@gmail.com> > > > >>>>> > > > >>>>> This allows using pstore on all such platforms. There are some > > > >>>>> differences per arch: > > > >>>>> > > > >>>>> * Tegra132: Flounder does not appear to enumerate pstore and I do not > > > >>>>> have access to norrin, thus Tegra132 is left out of this commit. > > > >>>>> * Tegra210: Does not support ramoops carveouts in the bootloader, instead > > > >>>>> relying on a dowstream driver to allocate the carveout, hence this > > > >>>>> hardcodes a location matching what the downstream driver picks. > > > >>>>> * Tegra186 and Tegra194 on cboot: Bootloader fills in the address and > > > >>>>> size in a node specifically named /reserved-memory/ramoops_carveout, > > > >>>>> thus these cannot be renamed. > > > >>>>> * Tegra194 and Tegra234 on edk2: Bootloader looks up the node based on > > > >>>>> compatible, however the dt still does not know the address, so keeping > > > >>>>> the node name consistent on Tegra186 and newer. > > > >>>>> > > > >>>>> Signed-off-by: Aaron Kling <webgeek1234@gmail.com> > > > >>>>> --- > > > >>>>> arch/arm64/boot/dts/nvidia/tegra186.dtsi | 16 ++++++++++++++++ > > > >>>>> arch/arm64/boot/dts/nvidia/tegra194.dtsi | 16 ++++++++++++++++ > > > >>>>> arch/arm64/boot/dts/nvidia/tegra210.dtsi | 13 +++++++++++++ > > > >>>>> arch/arm64/boot/dts/nvidia/tegra234.dtsi | 16 ++++++++++++++++ > > > >>>>> 4 files changed, 61 insertions(+) > > > >>>>> > > > >>>>> diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi b/arch/arm64/boot/dts/nvidia/tegra186.dtsi > > > >>>>> index 2b3bb5d0af17bd521f87db0484fcbe943dd1a797..2e2b27deb957dfd754e42dd03f5a1da5079971dc 100644 > > > >>>>> --- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi > > > >>>>> +++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi > > > >>>>> @@ -2051,6 +2051,22 @@ pmu-denver { > > > >>>>> interrupt-affinity = <&denver_0 &denver_1>; > > > >>>>> }; > > > >>>>> > > > >>>>> + reserved-memory { > > > >>>>> + #address-cells = <2>; > > > >>>>> + #size-cells = <2>; > > > >>>>> + ranges; > > > >>>>> + > > > >>>>> + ramoops_carveout { > > > >>>> > > > >>>> Please follow DTS coding style for name, so this is probably only ramoops. > > > >>> > > > >>> As per the commit message regarding tegra186: bootloader fills in the > > > >>> address and size in a node specifically named > > > >>> /reserved-memory/ramoops_carveout, thus these cannot be renamed. > > > >> > > > >> That's not a reason to introduce issues. Bootloader is supposed to > > > >> follow same conventions or use aliases or labels (depending on the node). > > > >> > > > >> If bootloader adds junk, does it mean we have to accept that junk? > > > >> > > > >>> > > > >>>> > > > >>>> It does not look like you tested the DTS against bindings. Please run > > > >>>> `make dtbs_check W=1` (see > > > >>>> Documentation/devicetree/bindings/writing-schema.rst or > > > >>>> https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/ > > > >>>> for instructions). > > > >>>> Maybe you need to update your dtschema and yamllint. Don't rely on > > > >>>> distro packages for dtschema and be sure you are using the latest > > > >>>> released dtschema. > > > >>> > > > >>> The bot is reporting that the reg field is missing from the added > > > >>> ramoops nodes on t186, t194, and t234. However, as also mentioned in > > > >>> the commit message, this is intentional because it is expected for the > > > >>> bootloader to fill that in. It is not known at dt compile time. Is > > > >>> there a way to mark this as intentional, so dtschema doesn't flag it? > > > >> > > > >> Fix your bootloader or chain load some normal one, like U-Boot. > > > > How would chainloading a second bootloader 'fix' previous stage > > > > bootloaders trampling on an out-of-sync hardcoded reserved-memory > > > > address? It's possible for carveout addresses and sizes to change. Not > > > > from boot to boot on the same version of the Nvidia bootloader, but > > > > potentially from one version to another. Depending on if the > > > > bootloader was configured with different carveout sizes. > > > > > > > > There is precedence for this. When blind cleanup was done on arm > > > > device trees, a chromebook broke because the memory node has to be > > > > named exactly '/memory' [0]. How is this any different from that case? > > > > > > That was an existing node, so ABI. > > > > > > > These nodes are an ABI to an existing bootloader. Carveouts on these > > > > > > You add new ABI, which I object to. > > > > > > > archs are set up in bl1 or bl2, which are not source available. I > > > > could potentially hardcode things for myself in bl33, which is source > > > > available, but the earlier stages could still overwrite any chosen > > > > block depending on how carveouts are configured. But even then, that > > > > will not change the behaviour of the vast majority of units that use a > > > > fully prebuilt boot stack direct from Nvidia. My intent here is for > > > > pstore to work on such units without users needing to use a custom > > > > bootloader. > > > I understand your goal. What I still do not understand, why bootloader > > > even bothers with ramoops carveout. It shouldn't and you should just > > > ignore whatever bootloader provides, no? > > > > Mmm, I actually don't have the answer to this. Ramoops carveout > > handling was added to t186 and t194 in cboot for L4T r32.7.3, fairly > > late in the life cycle. But it has always been in edk2 for t194 and > > t234 afaik. I could hazard some guesses, but don't have any > > documentation on why the decision was made. Maybe Thierry or Jonathan > > could chime in on why this was done. > > > > Friendly reminder to the Tegra maintainers about this question. > In lieu of a response from the Tegra subsystem maintainers, I can only hazard an assumption, Krzysztof. I presume the pstore carveout is bootloader controlled because various stages of the boot stack can dynamically allocate memory, and this became bootloader controlled to prevent any of those from overwriting pstore. I worry about hardcoding an address in the kernel dt, then finding out later that there's an in-use configuration that overwrites or corrupts that section of ram during boot. What are your thoughts on this? And is there any way for this patch to proceed? Sincerely, Aaron ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-04-29 1:21 ` Aaron Kling @ 2025-05-08 21:27 ` Thierry Reding 2025-05-28 17:35 ` Aaron Kling 0 siblings, 1 reply; 19+ messages in thread From: Thierry Reding @ 2025-05-08 21:27 UTC (permalink / raw) To: Aaron Kling Cc: Krzysztof Kozlowski, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli, devicetree, linux-tegra, linux-kernel, linux-hardening [-- Attachment #1: Type: text/plain, Size: 7803 bytes --] On Mon, Apr 28, 2025 at 08:21:55PM -0500, Aaron Kling wrote: > On Sun, Apr 20, 2025 at 8:45 PM Aaron Kling <webgeek1234@gmail.com> wrote: > > > > On Tue, Apr 8, 2025 at 3:49 AM Aaron Kling <webgeek1234@gmail.com> wrote: > > > > > > On Tue, Apr 8, 2025 at 3:17 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > > > > > > > On 08/04/2025 09:35, Aaron Kling wrote: > > > > > On Tue, Apr 8, 2025 at 1:08 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > > > >> > > > > >> On 07/04/2025 18:00, Aaron Kling wrote: > > > > >>> On Mon, Apr 7, 2025 at 7:59 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > > > >>>> > > > > >>>> On 06/04/2025 23:12, Aaron Kling via B4 Relay wrote: > > > > >>>>> From: Aaron Kling <webgeek1234@gmail.com> > > > > >>>>> > > > > >>>>> This allows using pstore on all such platforms. There are some > > > > >>>>> differences per arch: > > > > >>>>> > > > > >>>>> * Tegra132: Flounder does not appear to enumerate pstore and I do not > > > > >>>>> have access to norrin, thus Tegra132 is left out of this commit. > > > > >>>>> * Tegra210: Does not support ramoops carveouts in the bootloader, instead > > > > >>>>> relying on a dowstream driver to allocate the carveout, hence this > > > > >>>>> hardcodes a location matching what the downstream driver picks. > > > > >>>>> * Tegra186 and Tegra194 on cboot: Bootloader fills in the address and > > > > >>>>> size in a node specifically named /reserved-memory/ramoops_carveout, > > > > >>>>> thus these cannot be renamed. > > > > >>>>> * Tegra194 and Tegra234 on edk2: Bootloader looks up the node based on > > > > >>>>> compatible, however the dt still does not know the address, so keeping > > > > >>>>> the node name consistent on Tegra186 and newer. > > > > >>>>> > > > > >>>>> Signed-off-by: Aaron Kling <webgeek1234@gmail.com> > > > > >>>>> --- > > > > >>>>> arch/arm64/boot/dts/nvidia/tegra186.dtsi | 16 ++++++++++++++++ > > > > >>>>> arch/arm64/boot/dts/nvidia/tegra194.dtsi | 16 ++++++++++++++++ > > > > >>>>> arch/arm64/boot/dts/nvidia/tegra210.dtsi | 13 +++++++++++++ > > > > >>>>> arch/arm64/boot/dts/nvidia/tegra234.dtsi | 16 ++++++++++++++++ > > > > >>>>> 4 files changed, 61 insertions(+) > > > > >>>>> > > > > >>>>> diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi b/arch/arm64/boot/dts/nvidia/tegra186.dtsi > > > > >>>>> index 2b3bb5d0af17bd521f87db0484fcbe943dd1a797..2e2b27deb957dfd754e42dd03f5a1da5079971dc 100644 > > > > >>>>> --- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi > > > > >>>>> +++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi > > > > >>>>> @@ -2051,6 +2051,22 @@ pmu-denver { > > > > >>>>> interrupt-affinity = <&denver_0 &denver_1>; > > > > >>>>> }; > > > > >>>>> > > > > >>>>> + reserved-memory { > > > > >>>>> + #address-cells = <2>; > > > > >>>>> + #size-cells = <2>; > > > > >>>>> + ranges; > > > > >>>>> + > > > > >>>>> + ramoops_carveout { > > > > >>>> > > > > >>>> Please follow DTS coding style for name, so this is probably only ramoops. > > > > >>> > > > > >>> As per the commit message regarding tegra186: bootloader fills in the > > > > >>> address and size in a node specifically named > > > > >>> /reserved-memory/ramoops_carveout, thus these cannot be renamed. > > > > >> > > > > >> That's not a reason to introduce issues. Bootloader is supposed to > > > > >> follow same conventions or use aliases or labels (depending on the node). > > > > >> > > > > >> If bootloader adds junk, does it mean we have to accept that junk? > > > > >> > > > > >>> > > > > >>>> > > > > >>>> It does not look like you tested the DTS against bindings. Please run > > > > >>>> `make dtbs_check W=1` (see > > > > >>>> Documentation/devicetree/bindings/writing-schema.rst or > > > > >>>> https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/ > > > > >>>> for instructions). > > > > >>>> Maybe you need to update your dtschema and yamllint. Don't rely on > > > > >>>> distro packages for dtschema and be sure you are using the latest > > > > >>>> released dtschema. > > > > >>> > > > > >>> The bot is reporting that the reg field is missing from the added > > > > >>> ramoops nodes on t186, t194, and t234. However, as also mentioned in > > > > >>> the commit message, this is intentional because it is expected for the > > > > >>> bootloader to fill that in. It is not known at dt compile time. Is > > > > >>> there a way to mark this as intentional, so dtschema doesn't flag it? > > > > >> > > > > >> Fix your bootloader or chain load some normal one, like U-Boot. > > > > > How would chainloading a second bootloader 'fix' previous stage > > > > > bootloaders trampling on an out-of-sync hardcoded reserved-memory > > > > > address? It's possible for carveout addresses and sizes to change. Not > > > > > from boot to boot on the same version of the Nvidia bootloader, but > > > > > potentially from one version to another. Depending on if the > > > > > bootloader was configured with different carveout sizes. > > > > > > > > > > There is precedence for this. When blind cleanup was done on arm > > > > > device trees, a chromebook broke because the memory node has to be > > > > > named exactly '/memory' [0]. How is this any different from that case? > > > > > > > > That was an existing node, so ABI. > > > > > > > > > These nodes are an ABI to an existing bootloader. Carveouts on these > > > > > > > > You add new ABI, which I object to. > > > > > > > > > archs are set up in bl1 or bl2, which are not source available. I > > > > > could potentially hardcode things for myself in bl33, which is source > > > > > available, but the earlier stages could still overwrite any chosen > > > > > block depending on how carveouts are configured. But even then, that > > > > > will not change the behaviour of the vast majority of units that use a > > > > > fully prebuilt boot stack direct from Nvidia. My intent here is for > > > > > pstore to work on such units without users needing to use a custom > > > > > bootloader. > > > > I understand your goal. What I still do not understand, why bootloader > > > > even bothers with ramoops carveout. It shouldn't and you should just > > > > ignore whatever bootloader provides, no? > > > > > > Mmm, I actually don't have the answer to this. Ramoops carveout > > > handling was added to t186 and t194 in cboot for L4T r32.7.3, fairly > > > late in the life cycle. But it has always been in edk2 for t194 and > > > t234 afaik. I could hazard some guesses, but don't have any > > > documentation on why the decision was made. Maybe Thierry or Jonathan > > > could chime in on why this was done. > > > > > > > Friendly reminder to the Tegra maintainers about this question. > > > In lieu of a response from the Tegra subsystem maintainers, I can only > hazard an assumption, Krzysztof. I presume the pstore carveout is > bootloader controlled because various stages of the boot stack can > dynamically allocate memory, and this became bootloader controlled to > prevent any of those from overwriting pstore. I worry about hardcoding > an address in the kernel dt, then finding out later that there's an > in-use configuration that overwrites or corrupts that section of ram > during boot. What are your thoughts on this? And is there any way for > this patch to proceed? I haven't been able to find anything out about this yet. Generally it's difficult to get the bootloaders updated for these devices. Tegra194 and Tegra234 may be new enough to make an update eventually go into a release, but for Tegra186 and older, I honestly wouldn't hold my breath. Thierry [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-05-08 21:27 ` Thierry Reding @ 2025-05-28 17:35 ` Aaron Kling 2025-05-29 8:52 ` Krzysztof Kozlowski 0 siblings, 1 reply; 19+ messages in thread From: Aaron Kling @ 2025-05-28 17:35 UTC (permalink / raw) To: Thierry Reding Cc: Krzysztof Kozlowski, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli, devicetree, linux-tegra, linux-kernel, linux-hardening On Thu, May 8, 2025 at 4:27 PM Thierry Reding <thierry.reding@gmail.com> wrote: > > On Mon, Apr 28, 2025 at 08:21:55PM -0500, Aaron Kling wrote: > > On Sun, Apr 20, 2025 at 8:45 PM Aaron Kling <webgeek1234@gmail.com> wrote: > > > > > > On Tue, Apr 8, 2025 at 3:49 AM Aaron Kling <webgeek1234@gmail.com> wrote: > > > > > > > > On Tue, Apr 8, 2025 at 3:17 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > > > > > > > > > On 08/04/2025 09:35, Aaron Kling wrote: > > > > > > On Tue, Apr 8, 2025 at 1:08 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > > > > >> > > > > > >> On 07/04/2025 18:00, Aaron Kling wrote: > > > > > >>> On Mon, Apr 7, 2025 at 7:59 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > > > > >>>> > > > > > >>>> On 06/04/2025 23:12, Aaron Kling via B4 Relay wrote: > > > > > >>>>> From: Aaron Kling <webgeek1234@gmail.com> > > > > > >>>>> > > > > > >>>>> This allows using pstore on all such platforms. There are some > > > > > >>>>> differences per arch: > > > > > >>>>> > > > > > >>>>> * Tegra132: Flounder does not appear to enumerate pstore and I do not > > > > > >>>>> have access to norrin, thus Tegra132 is left out of this commit. > > > > > >>>>> * Tegra210: Does not support ramoops carveouts in the bootloader, instead > > > > > >>>>> relying on a dowstream driver to allocate the carveout, hence this > > > > > >>>>> hardcodes a location matching what the downstream driver picks. > > > > > >>>>> * Tegra186 and Tegra194 on cboot: Bootloader fills in the address and > > > > > >>>>> size in a node specifically named /reserved-memory/ramoops_carveout, > > > > > >>>>> thus these cannot be renamed. > > > > > >>>>> * Tegra194 and Tegra234 on edk2: Bootloader looks up the node based on > > > > > >>>>> compatible, however the dt still does not know the address, so keeping > > > > > >>>>> the node name consistent on Tegra186 and newer. > > > > > >>>>> > > > > > >>>>> Signed-off-by: Aaron Kling <webgeek1234@gmail.com> > > > > > >>>>> --- > > > > > >>>>> arch/arm64/boot/dts/nvidia/tegra186.dtsi | 16 ++++++++++++++++ > > > > > >>>>> arch/arm64/boot/dts/nvidia/tegra194.dtsi | 16 ++++++++++++++++ > > > > > >>>>> arch/arm64/boot/dts/nvidia/tegra210.dtsi | 13 +++++++++++++ > > > > > >>>>> arch/arm64/boot/dts/nvidia/tegra234.dtsi | 16 ++++++++++++++++ > > > > > >>>>> 4 files changed, 61 insertions(+) > > > > > >>>>> > > > > > >>>>> diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi b/arch/arm64/boot/dts/nvidia/tegra186.dtsi > > > > > >>>>> index 2b3bb5d0af17bd521f87db0484fcbe943dd1a797..2e2b27deb957dfd754e42dd03f5a1da5079971dc 100644 > > > > > >>>>> --- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi > > > > > >>>>> +++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi > > > > > >>>>> @@ -2051,6 +2051,22 @@ pmu-denver { > > > > > >>>>> interrupt-affinity = <&denver_0 &denver_1>; > > > > > >>>>> }; > > > > > >>>>> > > > > > >>>>> + reserved-memory { > > > > > >>>>> + #address-cells = <2>; > > > > > >>>>> + #size-cells = <2>; > > > > > >>>>> + ranges; > > > > > >>>>> + > > > > > >>>>> + ramoops_carveout { > > > > > >>>> > > > > > >>>> Please follow DTS coding style for name, so this is probably only ramoops. > > > > > >>> > > > > > >>> As per the commit message regarding tegra186: bootloader fills in the > > > > > >>> address and size in a node specifically named > > > > > >>> /reserved-memory/ramoops_carveout, thus these cannot be renamed. > > > > > >> > > > > > >> That's not a reason to introduce issues. Bootloader is supposed to > > > > > >> follow same conventions or use aliases or labels (depending on the node). > > > > > >> > > > > > >> If bootloader adds junk, does it mean we have to accept that junk? > > > > > >> > > > > > >>> > > > > > >>>> > > > > > >>>> It does not look like you tested the DTS against bindings. Please run > > > > > >>>> `make dtbs_check W=1` (see > > > > > >>>> Documentation/devicetree/bindings/writing-schema.rst or > > > > > >>>> https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/ > > > > > >>>> for instructions). > > > > > >>>> Maybe you need to update your dtschema and yamllint. Don't rely on > > > > > >>>> distro packages for dtschema and be sure you are using the latest > > > > > >>>> released dtschema. > > > > > >>> > > > > > >>> The bot is reporting that the reg field is missing from the added > > > > > >>> ramoops nodes on t186, t194, and t234. However, as also mentioned in > > > > > >>> the commit message, this is intentional because it is expected for the > > > > > >>> bootloader to fill that in. It is not known at dt compile time. Is > > > > > >>> there a way to mark this as intentional, so dtschema doesn't flag it? > > > > > >> > > > > > >> Fix your bootloader or chain load some normal one, like U-Boot. > > > > > > How would chainloading a second bootloader 'fix' previous stage > > > > > > bootloaders trampling on an out-of-sync hardcoded reserved-memory > > > > > > address? It's possible for carveout addresses and sizes to change. Not > > > > > > from boot to boot on the same version of the Nvidia bootloader, but > > > > > > potentially from one version to another. Depending on if the > > > > > > bootloader was configured with different carveout sizes. > > > > > > > > > > > > There is precedence for this. When blind cleanup was done on arm > > > > > > device trees, a chromebook broke because the memory node has to be > > > > > > named exactly '/memory' [0]. How is this any different from that case? > > > > > > > > > > That was an existing node, so ABI. > > > > > > > > > > > These nodes are an ABI to an existing bootloader. Carveouts on these > > > > > > > > > > You add new ABI, which I object to. > > > > > > > > > > > archs are set up in bl1 or bl2, which are not source available. I > > > > > > could potentially hardcode things for myself in bl33, which is source > > > > > > available, but the earlier stages could still overwrite any chosen > > > > > > block depending on how carveouts are configured. But even then, that > > > > > > will not change the behaviour of the vast majority of units that use a > > > > > > fully prebuilt boot stack direct from Nvidia. My intent here is for > > > > > > pstore to work on such units without users needing to use a custom > > > > > > bootloader. > > > > > I understand your goal. What I still do not understand, why bootloader > > > > > even bothers with ramoops carveout. It shouldn't and you should just > > > > > ignore whatever bootloader provides, no? > > > > > > > > Mmm, I actually don't have the answer to this. Ramoops carveout > > > > handling was added to t186 and t194 in cboot for L4T r32.7.3, fairly > > > > late in the life cycle. But it has always been in edk2 for t194 and > > > > t234 afaik. I could hazard some guesses, but don't have any > > > > documentation on why the decision was made. Maybe Thierry or Jonathan > > > > could chime in on why this was done. > > > > > > > > > > Friendly reminder to the Tegra maintainers about this question. > > > > > In lieu of a response from the Tegra subsystem maintainers, I can only > > hazard an assumption, Krzysztof. I presume the pstore carveout is > > bootloader controlled because various stages of the boot stack can > > dynamically allocate memory, and this became bootloader controlled to > > prevent any of those from overwriting pstore. I worry about hardcoding > > an address in the kernel dt, then finding out later that there's an > > in-use configuration that overwrites or corrupts that section of ram > > during boot. What are your thoughts on this? And is there any way for > > this patch to proceed? > > I haven't been able to find anything out about this yet. Generally it's > difficult to get the bootloaders updated for these devices. Tegra194 and > Tegra234 may be new enough to make an update eventually go into a > release, but for Tegra186 and older, I honestly wouldn't hold my > breath. > > Thierry Krzysztof, based on this response, is there any way or form that the Tegra186 part of this could be submitted? I can drop the newer platforms from this patch if Thierry can get a response to his other reply about how the bootloader could conform. Sincerely, Aaron ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-05-28 17:35 ` Aaron Kling @ 2025-05-29 8:52 ` Krzysztof Kozlowski 2025-06-30 18:48 ` Aaron Kling 0 siblings, 1 reply; 19+ messages in thread From: Krzysztof Kozlowski @ 2025-05-29 8:52 UTC (permalink / raw) To: Aaron Kling, Thierry Reding Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli, devicetree, linux-tegra, linux-kernel, linux-hardening On 28/05/2025 19:35, Aaron Kling wrote: >>>> >>>> Friendly reminder to the Tegra maintainers about this question. >>>> >>> In lieu of a response from the Tegra subsystem maintainers, I can only >>> hazard an assumption, Krzysztof. I presume the pstore carveout is >>> bootloader controlled because various stages of the boot stack can >>> dynamically allocate memory, and this became bootloader controlled to >>> prevent any of those from overwriting pstore. I worry about hardcoding >>> an address in the kernel dt, then finding out later that there's an >>> in-use configuration that overwrites or corrupts that section of ram >>> during boot. What are your thoughts on this? And is there any way for >>> this patch to proceed? >> >> I haven't been able to find anything out about this yet. Generally it's >> difficult to get the bootloaders updated for these devices. Tegra194 and >> Tegra234 may be new enough to make an update eventually go into a >> release, but for Tegra186 and older, I honestly wouldn't hold my >> breath. >> >> Thierry > > Krzysztof, based on this response, is there any way or form that the > Tegra186 part of this could be submitted? I can drop the newer > platforms from this patch if Thierry can get a response to his other > reply about how the bootloader could conform. > I don't NAK it. Eventually it is up to platform maintainer if they accept known DTC warnings. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-05-29 8:52 ` Krzysztof Kozlowski @ 2025-06-30 18:48 ` Aaron Kling 2025-07-03 7:24 ` Thierry Reding 0 siblings, 1 reply; 19+ messages in thread From: Aaron Kling @ 2025-06-30 18:48 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Thierry Reding, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli, devicetree, linux-tegra, linux-kernel, linux-hardening On Thu, May 29, 2025 at 3:53 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > On 28/05/2025 19:35, Aaron Kling wrote: > >>>> > >>>> Friendly reminder to the Tegra maintainers about this question. > >>>> > >>> In lieu of a response from the Tegra subsystem maintainers, I can only > >>> hazard an assumption, Krzysztof. I presume the pstore carveout is > >>> bootloader controlled because various stages of the boot stack can > >>> dynamically allocate memory, and this became bootloader controlled to > >>> prevent any of those from overwriting pstore. I worry about hardcoding > >>> an address in the kernel dt, then finding out later that there's an > >>> in-use configuration that overwrites or corrupts that section of ram > >>> during boot. What are your thoughts on this? And is there any way for > >>> this patch to proceed? > >> > >> I haven't been able to find anything out about this yet. Generally it's > >> difficult to get the bootloaders updated for these devices. Tegra194 and > >> Tegra234 may be new enough to make an update eventually go into a > >> release, but for Tegra186 and older, I honestly wouldn't hold my > >> breath. > >> > >> Thierry > > > > Krzysztof, based on this response, is there any way or form that the > > Tegra186 part of this could be submitted? I can drop the newer > > platforms from this patch if Thierry can get a response to his other > > reply about how the bootloader could conform. > > > I don't NAK it. Eventually it is up to platform maintainer if they > accept known DTC warnings. > > Best regards, > Krzysztof If the decision is up the the tegra maintainers, then Thierry, what's your thoughts now? What is in this patch should be compatible with existing l4t and android bootloaders. But it does add a few new dtb check lines. Aaron ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-06-30 18:48 ` Aaron Kling @ 2025-07-03 7:24 ` Thierry Reding 2025-07-14 6:01 ` Aaron Kling 0 siblings, 1 reply; 19+ messages in thread From: Thierry Reding @ 2025-07-03 7:24 UTC (permalink / raw) To: Aaron Kling Cc: Krzysztof Kozlowski, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli, devicetree, linux-tegra, linux-kernel, linux-hardening [-- Attachment #1: Type: text/plain, Size: 2931 bytes --] On Mon, Jun 30, 2025 at 01:48:28PM -0500, Aaron Kling wrote: > On Thu, May 29, 2025 at 3:53 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > > > On 28/05/2025 19:35, Aaron Kling wrote: > > >>>> > > >>>> Friendly reminder to the Tegra maintainers about this question. > > >>>> > > >>> In lieu of a response from the Tegra subsystem maintainers, I can only > > >>> hazard an assumption, Krzysztof. I presume the pstore carveout is > > >>> bootloader controlled because various stages of the boot stack can > > >>> dynamically allocate memory, and this became bootloader controlled to > > >>> prevent any of those from overwriting pstore. I worry about hardcoding > > >>> an address in the kernel dt, then finding out later that there's an > > >>> in-use configuration that overwrites or corrupts that section of ram > > >>> during boot. What are your thoughts on this? And is there any way for > > >>> this patch to proceed? > > >> > > >> I haven't been able to find anything out about this yet. Generally it's > > >> difficult to get the bootloaders updated for these devices. Tegra194 and > > >> Tegra234 may be new enough to make an update eventually go into a > > >> release, but for Tegra186 and older, I honestly wouldn't hold my > > >> breath. > > >> > > >> Thierry > > > > > > Krzysztof, based on this response, is there any way or form that the > > > Tegra186 part of this could be submitted? I can drop the newer > > > platforms from this patch if Thierry can get a response to his other > > > reply about how the bootloader could conform. > > > > > I don't NAK it. Eventually it is up to platform maintainer if they > > accept known DTC warnings. > > > > Best regards, > > Krzysztof > > If the decision is up the the tegra maintainers, then Thierry, what's > your thoughts now? What is in this patch should be compatible with > existing l4t and android bootloaders. But it does add a few new dtb > check lines. I don't adding new DTC warnings, especially ones that we know up front we can never get rid of. The memory one is a notable exception because the system becomes unusable without it. ramoops is not in that same category. While it's certainly nice to have, I don't think it's critical enough to warrant that permanent exception. Where possible I think we need to work to address issues souch as this at the root and fix bootloaders to do the right thing. For any cases where we can't fix the bootloaders, I think that's something we have to live with. Having the support for this live in a fork is a fair compromise, I think. I know this is frustrating, and it's very painful for me personally because I initially set out to redress a lot of these things and failed to do so. However I can't justify accepting endless amounts of quirks upstream, all of which would set a bad precedent, just for the sake of things being upstream. Thierry [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-07-03 7:24 ` Thierry Reding @ 2025-07-14 6:01 ` Aaron Kling 2025-07-31 21:24 ` Aaron Kling 2025-08-01 9:49 ` Thierry Reding 0 siblings, 2 replies; 19+ messages in thread From: Aaron Kling @ 2025-07-14 6:01 UTC (permalink / raw) To: Thierry Reding Cc: Krzysztof Kozlowski, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli, devicetree, linux-tegra, linux-kernel, linux-hardening On Thu, Jul 3, 2025 at 2:24 AM Thierry Reding <thierry.reding@gmail.com> wrote: > > On Mon, Jun 30, 2025 at 01:48:28PM -0500, Aaron Kling wrote: > > On Thu, May 29, 2025 at 3:53 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > > > > > On 28/05/2025 19:35, Aaron Kling wrote: > > > >>>> > > > >>>> Friendly reminder to the Tegra maintainers about this question. > > > >>>> > > > >>> In lieu of a response from the Tegra subsystem maintainers, I can only > > > >>> hazard an assumption, Krzysztof. I presume the pstore carveout is > > > >>> bootloader controlled because various stages of the boot stack can > > > >>> dynamically allocate memory, and this became bootloader controlled to > > > >>> prevent any of those from overwriting pstore. I worry about hardcoding > > > >>> an address in the kernel dt, then finding out later that there's an > > > >>> in-use configuration that overwrites or corrupts that section of ram > > > >>> during boot. What are your thoughts on this? And is there any way for > > > >>> this patch to proceed? > > > >> > > > >> I haven't been able to find anything out about this yet. Generally it's > > > >> difficult to get the bootloaders updated for these devices. Tegra194 and > > > >> Tegra234 may be new enough to make an update eventually go into a > > > >> release, but for Tegra186 and older, I honestly wouldn't hold my > > > >> breath. > > > >> > > > >> Thierry > > > > > > > > Krzysztof, based on this response, is there any way or form that the > > > > Tegra186 part of this could be submitted? I can drop the newer > > > > platforms from this patch if Thierry can get a response to his other > > > > reply about how the bootloader could conform. > > > > > > > I don't NAK it. Eventually it is up to platform maintainer if they > > > accept known DTC warnings. > > > > > > Best regards, > > > Krzysztof > > > > If the decision is up the the tegra maintainers, then Thierry, what's > > your thoughts now? What is in this patch should be compatible with > > existing l4t and android bootloaders. But it does add a few new dtb > > check lines. > > I don't adding new DTC warnings, especially ones that we know up front > we can never get rid of. The memory one is a notable exception because > the system becomes unusable without it. > > ramoops is not in that same category. While it's certainly nice to have, > I don't think it's critical enough to warrant that permanent exception. > Where possible I think we need to work to address issues souch as this > at the root and fix bootloaders to do the right thing. > > For any cases where we can't fix the bootloaders, I think that's > something we have to live with. Having the support for this live in a > fork is a fair compromise, I think. > > I know this is frustrating, and it's very painful for me personally > because I initially set out to redress a lot of these things and failed > to do so. > > However I can't justify accepting endless amounts of quirks upstream, > all of which would set a bad precedent, just for the sake of things > being upstream. > > Thierry Alright, so to make sure everything is on the same page, let me walk through the archs. T210: This fits within dt check requirements afaik. If I send a v2 with only t210, would that patch be acceptable? Though, I would like to double check that my assumption about the arch is correct. The downstream 4.9 kernel does allocations for ramoop I can't quite track in the vendor code. I'm assuming that by matching what the downstream kernel picks, that it's within a large carveout that the bootloader will never touch. I've not seen any corruption in my use of it so far. Is this a safe assumption? T186: Software support for this arch is eol, so what the bootloader does cannot be changed. Presumably no other choice but to relegate to a commit in a fork or out of tree patches. T194: Some software support still exists for this arch in L4T r35. Is there any positive feedback on making bootloader changes to meet dt check requirements, or is it too late in the cycle? T234: Still has active software support in L4T r36. But essentially the same question as t194. T264: I assume whatever happens for t234 will be mirrored here. Aaron ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-07-14 6:01 ` Aaron Kling @ 2025-07-31 21:24 ` Aaron Kling 2025-08-01 9:49 ` Thierry Reding 1 sibling, 0 replies; 19+ messages in thread From: Aaron Kling @ 2025-07-31 21:24 UTC (permalink / raw) To: Thierry Reding Cc: Krzysztof Kozlowski, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli, devicetree, linux-tegra, linux-kernel, linux-hardening On Mon, Jul 14, 2025 at 1:01 AM Aaron Kling <webgeek1234@gmail.com> wrote: > > On Thu, Jul 3, 2025 at 2:24 AM Thierry Reding <thierry.reding@gmail.com> wrote: > > > > On Mon, Jun 30, 2025 at 01:48:28PM -0500, Aaron Kling wrote: > > > On Thu, May 29, 2025 at 3:53 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > > > > > > > On 28/05/2025 19:35, Aaron Kling wrote: > > > > >>>> > > > > >>>> Friendly reminder to the Tegra maintainers about this question. > > > > >>>> > > > > >>> In lieu of a response from the Tegra subsystem maintainers, I can only > > > > >>> hazard an assumption, Krzysztof. I presume the pstore carveout is > > > > >>> bootloader controlled because various stages of the boot stack can > > > > >>> dynamically allocate memory, and this became bootloader controlled to > > > > >>> prevent any of those from overwriting pstore. I worry about hardcoding > > > > >>> an address in the kernel dt, then finding out later that there's an > > > > >>> in-use configuration that overwrites or corrupts that section of ram > > > > >>> during boot. What are your thoughts on this? And is there any way for > > > > >>> this patch to proceed? > > > > >> > > > > >> I haven't been able to find anything out about this yet. Generally it's > > > > >> difficult to get the bootloaders updated for these devices. Tegra194 and > > > > >> Tegra234 may be new enough to make an update eventually go into a > > > > >> release, but for Tegra186 and older, I honestly wouldn't hold my > > > > >> breath. > > > > >> > > > > >> Thierry > > > > > > > > > > Krzysztof, based on this response, is there any way or form that the > > > > > Tegra186 part of this could be submitted? I can drop the newer > > > > > platforms from this patch if Thierry can get a response to his other > > > > > reply about how the bootloader could conform. > > > > > > > > > I don't NAK it. Eventually it is up to platform maintainer if they > > > > accept known DTC warnings. > > > > > > > > Best regards, > > > > Krzysztof > > > > > > If the decision is up the the tegra maintainers, then Thierry, what's > > > your thoughts now? What is in this patch should be compatible with > > > existing l4t and android bootloaders. But it does add a few new dtb > > > check lines. > > > > I don't adding new DTC warnings, especially ones that we know up front > > we can never get rid of. The memory one is a notable exception because > > the system becomes unusable without it. > > > > ramoops is not in that same category. While it's certainly nice to have, > > I don't think it's critical enough to warrant that permanent exception. > > Where possible I think we need to work to address issues souch as this > > at the root and fix bootloaders to do the right thing. > > > > For any cases where we can't fix the bootloaders, I think that's > > something we have to live with. Having the support for this live in a > > fork is a fair compromise, I think. > > > > I know this is frustrating, and it's very painful for me personally > > because I initially set out to redress a lot of these things and failed > > to do so. > > > > However I can't justify accepting endless amounts of quirks upstream, > > all of which would set a bad precedent, just for the sake of things > > being upstream. > > > > Thierry > > Alright, so to make sure everything is on the same page, let me walk > through the archs. > > T210: This fits within dt check requirements afaik. If I send a v2 > with only t210, would that patch be acceptable? Though, I would like > to double check that my assumption about the arch is correct. The > downstream 4.9 kernel does allocations for ramoop I can't quite track > in the vendor code. I'm assuming that by matching what the downstream > kernel picks, that it's within a large carveout that the bootloader > will never touch. I've not seen any corruption in my use of it so far. > Is this a safe assumption? > > T186: Software support for this arch is eol, so what the bootloader > does cannot be changed. Presumably no other choice but to relegate to > a commit in a fork or out of tree patches. > > T194: Some software support still exists for this arch in L4T r35. Is > there any positive feedback on making bootloader changes to meet dt > check requirements, or is it too late in the cycle? > > T234: Still has active software support in L4T r36. But essentially > the same question as t194. > > T264: I assume whatever happens for t234 will be mirrored here. Reminder about this set of questions. Aaron ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-07-14 6:01 ` Aaron Kling 2025-07-31 21:24 ` Aaron Kling @ 2025-08-01 9:49 ` Thierry Reding 1 sibling, 0 replies; 19+ messages in thread From: Thierry Reding @ 2025-08-01 9:49 UTC (permalink / raw) To: Aaron Kling Cc: Krzysztof Kozlowski, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli, devicetree, linux-tegra, linux-kernel, linux-hardening [-- Attachment #1: Type: text/plain, Size: 5072 bytes --] On Mon, Jul 14, 2025 at 01:01:19AM -0500, Aaron Kling wrote: > On Thu, Jul 3, 2025 at 2:24 AM Thierry Reding <thierry.reding@gmail.com> wrote: > > > > On Mon, Jun 30, 2025 at 01:48:28PM -0500, Aaron Kling wrote: > > > On Thu, May 29, 2025 at 3:53 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > > > > > > > On 28/05/2025 19:35, Aaron Kling wrote: > > > > >>>> > > > > >>>> Friendly reminder to the Tegra maintainers about this question. > > > > >>>> > > > > >>> In lieu of a response from the Tegra subsystem maintainers, I can only > > > > >>> hazard an assumption, Krzysztof. I presume the pstore carveout is > > > > >>> bootloader controlled because various stages of the boot stack can > > > > >>> dynamically allocate memory, and this became bootloader controlled to > > > > >>> prevent any of those from overwriting pstore. I worry about hardcoding > > > > >>> an address in the kernel dt, then finding out later that there's an > > > > >>> in-use configuration that overwrites or corrupts that section of ram > > > > >>> during boot. What are your thoughts on this? And is there any way for > > > > >>> this patch to proceed? > > > > >> > > > > >> I haven't been able to find anything out about this yet. Generally it's > > > > >> difficult to get the bootloaders updated for these devices. Tegra194 and > > > > >> Tegra234 may be new enough to make an update eventually go into a > > > > >> release, but for Tegra186 and older, I honestly wouldn't hold my > > > > >> breath. > > > > >> > > > > >> Thierry > > > > > > > > > > Krzysztof, based on this response, is there any way or form that the > > > > > Tegra186 part of this could be submitted? I can drop the newer > > > > > platforms from this patch if Thierry can get a response to his other > > > > > reply about how the bootloader could conform. > > > > > > > > > I don't NAK it. Eventually it is up to platform maintainer if they > > > > accept known DTC warnings. > > > > > > > > Best regards, > > > > Krzysztof > > > > > > If the decision is up the the tegra maintainers, then Thierry, what's > > > your thoughts now? What is in this patch should be compatible with > > > existing l4t and android bootloaders. But it does add a few new dtb > > > check lines. > > > > I don't adding new DTC warnings, especially ones that we know up front > > we can never get rid of. The memory one is a notable exception because > > the system becomes unusable without it. > > > > ramoops is not in that same category. While it's certainly nice to have, > > I don't think it's critical enough to warrant that permanent exception. > > Where possible I think we need to work to address issues souch as this > > at the root and fix bootloaders to do the right thing. > > > > For any cases where we can't fix the bootloaders, I think that's > > something we have to live with. Having the support for this live in a > > fork is a fair compromise, I think. > > > > I know this is frustrating, and it's very painful for me personally > > because I initially set out to redress a lot of these things and failed > > to do so. > > > > However I can't justify accepting endless amounts of quirks upstream, > > all of which would set a bad precedent, just for the sake of things > > being upstream. > > > > Thierry > > Alright, so to make sure everything is on the same page, let me walk > through the archs. > > T210: This fits within dt check requirements afaik. If I send a v2 > with only t210, would that patch be acceptable? Though, I would like > to double check that my assumption about the arch is correct. The > downstream 4.9 kernel does allocations for ramoop I can't quite track > in the vendor code. I'm assuming that by matching what the downstream > kernel picks, that it's within a large carveout that the bootloader > will never touch. I've not seen any corruption in my use of it so far. > Is this a safe assumption? I haven't looked into ramoops support at all yet, so I don't know how this is handled. If we can find out where exactly this memory is and that it's guaranteed to be static, then maybe we can hardcode this. If not, I don't think there's much of a chance to get anything in. > T186: Software support for this arch is eol, so what the bootloader > does cannot be changed. Presumably no other choice but to relegate to > a commit in a fork or out of tree patches. Sounds about right. > T194: Some software support still exists for this arch in L4T r35. Is > there any positive feedback on making bootloader changes to meet dt > check requirements, or is it too late in the cycle? > > T234: Still has active software support in L4T r36. But essentially > the same question as t194. We can probably fix things for these two generations. > T264: I assume whatever happens for t234 will be mirrored here. Yes. We do try to incrementally improve things on newer generations, so anything we fix for Tegra194/Tegra234 I expect will be done for Tegra264 and later chips, too. Thierry [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer 2025-04-06 21:12 [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer Aaron Kling via B4 Relay 2025-04-07 12:47 ` Rob Herring (Arm) 2025-04-07 12:59 ` Krzysztof Kozlowski @ 2025-05-08 21:33 ` Thierry Reding 2 siblings, 0 replies; 19+ messages in thread From: Thierry Reding @ 2025-05-08 21:33 UTC (permalink / raw) To: webgeek1234 Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jonathan Hunter, Kees Cook, Tony Luck, Guilherme G. Piccoli, devicetree, linux-tegra, linux-kernel, linux-hardening [-- Attachment #1: Type: text/plain, Size: 1214 bytes --] On Sun, Apr 06, 2025 at 04:12:43PM -0500, Aaron Kling via B4 Relay wrote: > From: Aaron Kling <webgeek1234@gmail.com> > > This allows using pstore on all such platforms. There are some > differences per arch: > > * Tegra132: Flounder does not appear to enumerate pstore and I do not > have access to norrin, thus Tegra132 is left out of this commit. > * Tegra210: Does not support ramoops carveouts in the bootloader, instead > relying on a dowstream driver to allocate the carveout, hence this > hardcodes a location matching what the downstream driver picks. > * Tegra186 and Tegra194 on cboot: Bootloader fills in the address and > size in a node specifically named /reserved-memory/ramoops_carveout, > thus these cannot be renamed. > * Tegra194 and Tegra234 on edk2: Bootloader looks up the node based on > compatible, however the dt still does not know the address, so keeping > the node name consistent on Tegra186 and newer. In order for this to be compatible with the standard bindings, all that edk2 would need to do is add the unit-address, correct? I think that's something we could probably get done since we do this for framebuffer carveouts already. Thierry [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2025-08-01 9:50 UTC | newest] Thread overview: 19+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-04-06 21:12 [PATCH] arm64: tegra: Enable ramoops on Tegra210 and newer Aaron Kling via B4 Relay 2025-04-07 12:47 ` Rob Herring (Arm) 2025-04-07 12:59 ` Krzysztof Kozlowski 2025-04-07 16:00 ` Aaron Kling 2025-04-08 6:07 ` Krzysztof Kozlowski 2025-04-08 7:35 ` Aaron Kling 2025-04-08 8:17 ` Krzysztof Kozlowski 2025-04-08 8:49 ` Aaron Kling 2025-04-21 1:45 ` Aaron Kling 2025-04-29 1:21 ` Aaron Kling 2025-05-08 21:27 ` Thierry Reding 2025-05-28 17:35 ` Aaron Kling 2025-05-29 8:52 ` Krzysztof Kozlowski 2025-06-30 18:48 ` Aaron Kling 2025-07-03 7:24 ` Thierry Reding 2025-07-14 6:01 ` Aaron Kling 2025-07-31 21:24 ` Aaron Kling 2025-08-01 9:49 ` Thierry Reding 2025-05-08 21:33 ` Thierry Reding
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).