* [PATCH v5] ARM64: dts: meson-gx: Add firmware reserved memory zones @ 2017-01-18 16:50 Neil Armstrong 2017-01-18 23:04 ` Kevin Hilman 2017-01-19 0:20 ` Andreas Färber 0 siblings, 2 replies; 6+ messages in thread From: Neil Armstrong @ 2017-01-18 16:50 UTC (permalink / raw) To: xypron.glpk, khilman, carlo, afaerber Cc: Neil Armstrong, linux-amlogic, linux-arm-kernel, linux-kernel, devicetree The Amlogic Meson GXBB/GXL/GXM secure monitor uses part of the memory space, this patch adds these reserved zones. Without such reserved memory zones, running the following stress command : $ stress-ng --vm 16 --vm-bytes 128M --timeout 10s multiple times: Could lead to the following kernel crashes : [ 46.937975] Bad mode in Error handler detected on CPU1, code 0xbf000000 -- SError ... [ 47.058536] Internal error: Attempting to execute userspace memory: 8600000f [#3] PREEMPT SMP ... Instead of the OOM killer. Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> --- arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) Changes since v4 at [5]: - Move start of ddr memory to reserved-memory node - Drop memory node move - Fix typo in sizes Changes since resent v2 at [4]: - Fix invalid comment of useable memory attributes Changes since original v2 at [3]: - Typo in commit 2GiB -> 1GiB, 4GiB -> 2GiB Changes since v2 at [2]: - Moved all memory node out of dtsi - Added comment about useable memory - Fixed comment about secmon reserved zone Changes since v1 at [1] : - Renamed reg into linux,usable-memory to ovveride u-boot memory - only kept secmon memory zone [1] http://lkml.kernel.org/r/20161212101801.28491-1-narmstrong@baylibre.com [2] http://lkml.kernel.org/r/1483105232-6242-1-git-send-email-narmstrong@baylibre.com [3] http://lkml.kernel.org/r/1484128128-22454-1-git-send-email-narmstrong@baylibre.com [4] http://lkml.kernel.org/r/1484128540-22662-1-git-send-email-narmstrong@baylibre.com [5] http://lkml.kernel.org/r/1484129414-23325-1-git-send-email-narmstrong@baylibre.com diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi index eada0b5..63d52b7 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi @@ -55,6 +55,24 @@ #address-cells = <2>; #size-cells = <2>; + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + /* 16 MiB reserved for Hardware ROM Firmware */ + hwrom: hwrom { + reg = <0x0 0x0 0x0 0x1000000>; + no-map; + }; + + /* 2 MiB reserved for ARM Trusted Firmware (BL31) */ + secmon: secmon { + reg = <0x0 0x10000000 0x0 0x200000>; + no-map; + }; + }; + cpus { #address-cells = <0x2>; #size-cells = <0x0>; -- 1.9.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v5] ARM64: dts: meson-gx: Add firmware reserved memory zones 2017-01-18 16:50 [PATCH v5] ARM64: dts: meson-gx: Add firmware reserved memory zones Neil Armstrong @ 2017-01-18 23:04 ` Kevin Hilman 2017-01-19 0:20 ` Andreas Färber 1 sibling, 0 replies; 6+ messages in thread From: Kevin Hilman @ 2017-01-18 23:04 UTC (permalink / raw) To: Neil Armstrong Cc: xypron.glpk, carlo, afaerber, linux-amlogic, linux-arm-kernel, linux-kernel, devicetree Neil Armstrong <narmstrong@baylibre.com> writes: > The Amlogic Meson GXBB/GXL/GXM secure monitor uses part of the memory space, > this patch adds these reserved zones. Applying to v4.10/fixes for broader testing. Will wait for ack from Andreas befores submitting to arm-soc fixes. Kevin > Without such reserved memory zones, running the following stress command : > $ stress-ng --vm 16 --vm-bytes 128M --timeout 10s > multiple times: > > Could lead to the following kernel crashes : > [ 46.937975] Bad mode in Error handler detected on CPU1, code 0xbf000000 -- SError > ... > [ 47.058536] Internal error: Attempting to execute userspace memory: 8600000f [#3] PREEMPT SMP > ... > Instead of the OOM killer. > > Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> > --- > arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > Changes since v4 at [5]: > - Move start of ddr memory to reserved-memory node > - Drop memory node move > - Fix typo in sizes > > Changes since resent v2 at [4]: > - Fix invalid comment of useable memory attributes > > Changes since original v2 at [3]: > - Typo in commit 2GiB -> 1GiB, 4GiB -> 2GiB > > Changes since v2 at [2]: > - Moved all memory node out of dtsi > - Added comment about useable memory > - Fixed comment about secmon reserved zone > > Changes since v1 at [1] : > - Renamed reg into linux,usable-memory to ovveride u-boot memory > - only kept secmon memory zone > > [1] http://lkml.kernel.org/r/20161212101801.28491-1-narmstrong@baylibre.com > [2] http://lkml.kernel.org/r/1483105232-6242-1-git-send-email-narmstrong@baylibre.com > [3] http://lkml.kernel.org/r/1484128128-22454-1-git-send-email-narmstrong@baylibre.com > [4] http://lkml.kernel.org/r/1484128540-22662-1-git-send-email-narmstrong@baylibre.com > [5] http://lkml.kernel.org/r/1484129414-23325-1-git-send-email-narmstrong@baylibre.com > > diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi > index eada0b5..63d52b7 100644 > --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi > +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi > @@ -55,6 +55,24 @@ > #address-cells = <2>; > #size-cells = <2>; > > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + /* 16 MiB reserved for Hardware ROM Firmware */ > + hwrom: hwrom { > + reg = <0x0 0x0 0x0 0x1000000>; > + no-map; > + }; > + > + /* 2 MiB reserved for ARM Trusted Firmware (BL31) */ > + secmon: secmon { > + reg = <0x0 0x10000000 0x0 0x200000>; > + no-map; > + }; > + }; > + > cpus { > #address-cells = <0x2>; > #size-cells = <0x0>; ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v5] ARM64: dts: meson-gx: Add firmware reserved memory zones 2017-01-18 16:50 [PATCH v5] ARM64: dts: meson-gx: Add firmware reserved memory zones Neil Armstrong 2017-01-18 23:04 ` Kevin Hilman @ 2017-01-19 0:20 ` Andreas Färber 2017-01-19 1:18 ` Andreas Färber 1 sibling, 1 reply; 6+ messages in thread From: Andreas Färber @ 2017-01-19 0:20 UTC (permalink / raw) To: Neil Armstrong, xypron.glpk, khilman, carlo Cc: linux-amlogic, linux-arm-kernel, linux-kernel, devicetree Hi, Am 18.01.2017 um 17:50 schrieb Neil Armstrong: > The Amlogic Meson GXBB/GXL/GXM secure monitor uses part of the memory space, > this patch adds these reserved zones. > > Without such reserved memory zones, running the following stress command : > $ stress-ng --vm 16 --vm-bytes 128M --timeout 10s > multiple times: > > Could lead to the following kernel crashes : > [ 46.937975] Bad mode in Error handler detected on CPU1, code 0xbf000000 -- SError > ... > [ 47.058536] Internal error: Attempting to execute userspace memory: 8600000f [#3] PREEMPT SMP > ... > Instead of the OOM killer. > I miss a Fixes: or Cc: here for the backport you desired. To have it fixed back to my very introduction: Fixes: 4f24eda8401f ("ARM64: dts: Prepare configs for Amlogic Meson GXBaby") People backporting it would need to handle the meson-{gx => gxbb}.dtsi transition for 4.9 down to 4.6, which seems fairly straightforward. > Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> > --- > arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > Changes since v4 at [5]: > - Move start of ddr memory to reserved-memory node > - Drop memory node move > - Fix typo in sizes > > Changes since resent v2 at [4]: > - Fix invalid comment of useable memory attributes > > Changes since original v2 at [3]: > - Typo in commit 2GiB -> 1GiB, 4GiB -> 2GiB > > Changes since v2 at [2]: > - Moved all memory node out of dtsi > - Added comment about useable memory > - Fixed comment about secmon reserved zone > > Changes since v1 at [1] : > - Renamed reg into linux,usable-memory to ovveride u-boot memory > - only kept secmon memory zone > > [1] http://lkml.kernel.org/r/20161212101801.28491-1-narmstrong@baylibre.com > [2] http://lkml.kernel.org/r/1483105232-6242-1-git-send-email-narmstrong@baylibre.com > [3] http://lkml.kernel.org/r/1484128128-22454-1-git-send-email-narmstrong@baylibre.com > [4] http://lkml.kernel.org/r/1484128540-22662-1-git-send-email-narmstrong@baylibre.com > [5] http://lkml.kernel.org/r/1484129414-23325-1-git-send-email-narmstrong@baylibre.com > > diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi > index eada0b5..63d52b7 100644 > --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi > +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi > @@ -55,6 +55,24 @@ > #address-cells = <2>; > #size-cells = <2>; > > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + /* 16 MiB reserved for Hardware ROM Firmware */ > + hwrom: hwrom { Both sub-nodes get a label that is unused, but reserved-memory itself does not (my v4 remark). Intentional? > + reg = <0x0 0x0 0x0 0x1000000>; > + no-map; > + }; > + > + /* 2 MiB reserved for ARM Trusted Firmware (BL31) */ > + secmon: secmon { I note that this .dtsi further down has a node /firmware/secure-monitor with label sm. a) Is there any naming convention such as secmon_mem to adopt here to avoid mixups with sm? b) Should this secmon node be referenced in the secure-monitor node via memory-node = <&secmon>; to model their connection, thereby giving the label a use? Or should we maybe merge the two nodes by moving the compatible string here? https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt > + reg = <0x0 0x10000000 0x0 0x200000>; > + no-map; > + }; > + }; > + > cpus { > #address-cells = <0x2>; > #size-cells = <0x0>; Anyway, objection resolved, Reviewed-by: Andreas Färber <afaerber@suse.de> I don't expect breakage from these more confined additions, but I can try to test tomorrow. Thanks, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v5] ARM64: dts: meson-gx: Add firmware reserved memory zones 2017-01-19 0:20 ` Andreas Färber @ 2017-01-19 1:18 ` Andreas Färber 2017-01-19 4:36 ` Kevin Hilman 0 siblings, 1 reply; 6+ messages in thread From: Andreas Färber @ 2017-01-19 1:18 UTC (permalink / raw) To: Neil Armstrong, xypron.glpk, khilman, carlo Cc: linux-amlogic, linux-kernel, linux-arm-kernel, devicetree Am 19.01.2017 um 01:20 schrieb Andreas Färber: > Hi, > > Am 18.01.2017 um 17:50 schrieb Neil Armstrong: >> The Amlogic Meson GXBB/GXL/GXM secure monitor uses part of the memory space, >> this patch adds these reserved zones. >> >> Without such reserved memory zones, running the following stress command : >> $ stress-ng --vm 16 --vm-bytes 128M --timeout 10s >> multiple times: >> >> Could lead to the following kernel crashes : >> [ 46.937975] Bad mode in Error handler detected on CPU1, code 0xbf000000 -- SError >> ... >> [ 47.058536] Internal error: Attempting to execute userspace memory: 8600000f [#3] PREEMPT SMP >> ... >> Instead of the OOM killer. >> > > I miss a Fixes: or Cc: here for the backport you desired. To have it > fixed back to my very introduction: > > Fixes: 4f24eda8401f ("ARM64: dts: Prepare configs for Amlogic Meson GXBaby") > > People backporting it would need to handle the meson-{gx => gxbb}.dtsi > transition for 4.9 down to 4.6, which seems fairly straightforward. > >> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> >> --- >> arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 18 ++++++++++++++++++ >> 1 file changed, 18 insertions(+) >> >> Changes since v4 at [5]: >> - Move start of ddr memory to reserved-memory node >> - Drop memory node move >> - Fix typo in sizes >> >> Changes since resent v2 at [4]: >> - Fix invalid comment of useable memory attributes >> >> Changes since original v2 at [3]: >> - Typo in commit 2GiB -> 1GiB, 4GiB -> 2GiB >> >> Changes since v2 at [2]: >> - Moved all memory node out of dtsi >> - Added comment about useable memory >> - Fixed comment about secmon reserved zone >> >> Changes since v1 at [1] : >> - Renamed reg into linux,usable-memory to ovveride u-boot memory >> - only kept secmon memory zone >> >> [1] http://lkml.kernel.org/r/20161212101801.28491-1-narmstrong@baylibre.com >> [2] http://lkml.kernel.org/r/1483105232-6242-1-git-send-email-narmstrong@baylibre.com >> [3] http://lkml.kernel.org/r/1484128128-22454-1-git-send-email-narmstrong@baylibre.com >> [4] http://lkml.kernel.org/r/1484128540-22662-1-git-send-email-narmstrong@baylibre.com >> [5] http://lkml.kernel.org/r/1484129414-23325-1-git-send-email-narmstrong@baylibre.com >> >> diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi >> index eada0b5..63d52b7 100644 >> --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi >> +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi >> @@ -55,6 +55,24 @@ >> #address-cells = <2>; >> #size-cells = <2>; >> >> + reserved-memory { >> + #address-cells = <2>; >> + #size-cells = <2>; >> + ranges; >> + >> + /* 16 MiB reserved for Hardware ROM Firmware */ >> + hwrom: hwrom { > > Both sub-nodes get a label that is unused, but reserved-memory itself > does not (my v4 remark). Intentional? > >> + reg = <0x0 0x0 0x0 0x1000000>; >> + no-map; >> + }; >> + >> + /* 2 MiB reserved for ARM Trusted Firmware (BL31) */ >> + secmon: secmon { > > I note that this .dtsi further down has a node /firmware/secure-monitor > with label sm. > a) Is there any naming convention such as secmon_mem to adopt here to > avoid mixups with sm? > b) Should this secmon node be referenced in the secure-monitor node via > memory-node = <&secmon>; to model their connection, thereby giving the > label a use? Or should we maybe merge the two nodes by moving the > compatible string here? > > https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt Answering my own question: the example labels use _reserved suffix. >> + reg = <0x0 0x10000000 0x0 0x200000>; And since we use a reg property here, the node name should get a unit address to avoid future dtc warnings/errors. Ditto for hwrom. >> + no-map; >> + }; >> + }; >> + >> cpus { >> #address-cells = <0x2>; >> #size-cells = <0x0>; > > Anyway, objection resolved, > > Reviewed-by: Andreas Färber <afaerber@suse.de> > > I don't expect breakage from these more confined additions, but I can > try to test tomorrow. > > Thanks, > Andreas > -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v5] ARM64: dts: meson-gx: Add firmware reserved memory zones 2017-01-19 1:18 ` Andreas Färber @ 2017-01-19 4:36 ` Kevin Hilman 2017-01-20 9:14 ` Andreas Färber 0 siblings, 1 reply; 6+ messages in thread From: Kevin Hilman @ 2017-01-19 4:36 UTC (permalink / raw) To: Andreas Färber Cc: Neil Armstrong, xypron.glpk, carlo, linux-amlogic, linux-kernel, linux-arm-kernel, devicetree Andreas Färber <afaerber@suse.de> writes: > Am 19.01.2017 um 01:20 schrieb Andreas Färber: >> Hi, >> >> Am 18.01.2017 um 17:50 schrieb Neil Armstrong: >>> The Amlogic Meson GXBB/GXL/GXM secure monitor uses part of the memory space, >>> this patch adds these reserved zones. >>> >>> Without such reserved memory zones, running the following stress command : >>> $ stress-ng --vm 16 --vm-bytes 128M --timeout 10s >>> multiple times: >>> >>> Could lead to the following kernel crashes : >>> [ 46.937975] Bad mode in Error handler detected on CPU1, code 0xbf000000 -- SError >>> ... >>> [ 47.058536] Internal error: Attempting to execute userspace memory: 8600000f [#3] PREEMPT SMP >>> ... >>> Instead of the OOM killer. >>> >> >> I miss a Fixes: or Cc: here for the backport you desired. To have it >> fixed back to my very introduction: >> >> Fixes: 4f24eda8401f ("ARM64: dts: Prepare configs for Amlogic Meson GXBaby") >> >> People backporting it would need to handle the meson-{gx => gxbb}.dtsi >> transition for 4.9 down to 4.6, which seems fairly straightforward. >> >>> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> >>> --- >>> arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 18 ++++++++++++++++++ >>> 1 file changed, 18 insertions(+) >>> >>> Changes since v4 at [5]: >>> - Move start of ddr memory to reserved-memory node >>> - Drop memory node move >>> - Fix typo in sizes >>> >>> Changes since resent v2 at [4]: >>> - Fix invalid comment of useable memory attributes >>> >>> Changes since original v2 at [3]: >>> - Typo in commit 2GiB -> 1GiB, 4GiB -> 2GiB >>> >>> Changes since v2 at [2]: >>> - Moved all memory node out of dtsi >>> - Added comment about useable memory >>> - Fixed comment about secmon reserved zone >>> >>> Changes since v1 at [1] : >>> - Renamed reg into linux,usable-memory to ovveride u-boot memory >>> - only kept secmon memory zone >>> >>> [1] http://lkml.kernel.org/r/20161212101801.28491-1-narmstrong@baylibre.com >>> [2] http://lkml.kernel.org/r/1483105232-6242-1-git-send-email-narmstrong@baylibre.com >>> [3] http://lkml.kernel.org/r/1484128128-22454-1-git-send-email-narmstrong@baylibre.com >>> [4] http://lkml.kernel.org/r/1484128540-22662-1-git-send-email-narmstrong@baylibre.com >>> [5] http://lkml.kernel.org/r/1484129414-23325-1-git-send-email-narmstrong@baylibre.com >>> >>> diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi >>> index eada0b5..63d52b7 100644 >>> --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi >>> +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi >>> @@ -55,6 +55,24 @@ >>> #address-cells = <2>; >>> #size-cells = <2>; >>> >>> + reserved-memory { >>> + #address-cells = <2>; >>> + #size-cells = <2>; >>> + ranges; >>> + >>> + /* 16 MiB reserved for Hardware ROM Firmware */ >>> + hwrom: hwrom { >> >> Both sub-nodes get a label that is unused, but reserved-memory itself >> does not (my v4 remark). Intentional? >> >>> + reg = <0x0 0x0 0x0 0x1000000>; >>> + no-map; >>> + }; >>> + >>> + /* 2 MiB reserved for ARM Trusted Firmware (BL31) */ >>> + secmon: secmon { >> >> I note that this .dtsi further down has a node /firmware/secure-monitor >> with label sm. >> a) Is there any naming convention such as secmon_mem to adopt here to >> avoid mixups with sm? >> b) Should this secmon node be referenced in the secure-monitor node via >> memory-node = <&secmon>; to model their connection, thereby giving the >> label a use? Or should we maybe merge the two nodes by moving the >> compatible string here? >> >> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt > > Answering my own question: the example labels use _reserved suffix. > >>> + reg = <0x0 0x10000000 0x0 0x200000>; > > And since we use a reg property here, the node name should get a unit > address to avoid future dtc warnings/errors. Ditto for hwrom. OK, I added Fixes:, your Reviewed-by, added the _reserved suffix and unit address and applied to v4.10/fixes. Update patch below for reference. Other cleanups/fixups (like adding a phandle from secure monitor) can be done as add-ons, as they are not strictly related to this fix. Kevin >From ecb88f3001ed9ee8c53450d971de8c18bcbf7925 Mon Sep 17 00:00:00 2001 From: Neil Armstrong <narmstrong@baylibre.com> Date: Wed, 18 Jan 2017 17:50:45 +0100 Subject: [PATCH] ARM64: dts: meson-gx: Add firmware reserved memory zones MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Amlogic Meson GXBB/GXL/GXM secure monitor uses part of the memory space, this patch adds these reserved zones. Without such reserved memory zones, running the following stress command : $ stress-ng --vm 16 --vm-bytes 128M --timeout 10s multiple times: Could lead to the following kernel crashes : [ 46.937975] Bad mode in Error handler detected on CPU1, code 0xbf000000 -- SError ... [ 47.058536] Internal error: Attempting to execute userspace memory: 8600000f [#3] PREEMPT SMP ... Instead of the OOM killer. Fixes: 4f24eda8401f ("ARM64: dts: Prepare configs for Amlogic Meson GXBaby") Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Reviewed-by: Andreas Färber <afaerber@suse.de> [khilman: added Fixes tag, added _reserved and unit addresses] Signed-off-by: Kevin Hilman <khilman@baylibre.com> --- arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi index eada0b58ba1c..0cbe24b49710 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi @@ -55,6 +55,24 @@ #address-cells = <2>; #size-cells = <2>; + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + /* 16 MiB reserved for Hardware ROM Firmware */ + hwrom_reserved: hwrom@0 { + reg = <0x0 0x0 0x0 0x1000000>; + no-map; + }; + + /* 2 MiB reserved for ARM Trusted Firmware (BL31) */ + secmon_reserved: secmon@10000000 { + reg = <0x0 0x10000000 0x0 0x200000>; + no-map; + }; + }; + cpus { #address-cells = <0x2>; #size-cells = <0x0>; -- 2.9.3 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v5] ARM64: dts: meson-gx: Add firmware reserved memory zones 2017-01-19 4:36 ` Kevin Hilman @ 2017-01-20 9:14 ` Andreas Färber 0 siblings, 0 replies; 6+ messages in thread From: Andreas Färber @ 2017-01-20 9:14 UTC (permalink / raw) To: Kevin Hilman Cc: Neil Armstrong, xypron.glpk, carlo, linux-amlogic, linux-kernel, linux-arm-kernel, devicetree Am 19.01.2017 um 05:36 schrieb Kevin Hilman: > Andreas Färber <afaerber@suse.de> writes: >> Am 19.01.2017 um 01:20 schrieb Andreas Färber: >>> Am 18.01.2017 um 17:50 schrieb Neil Armstrong: >>>> The Amlogic Meson GXBB/GXL/GXM secure monitor uses part of the memory space, >>>> this patch adds these reserved zones. >>>> >>>> Without such reserved memory zones, running the following stress command : >>>> $ stress-ng --vm 16 --vm-bytes 128M --timeout 10s >>>> multiple times: >>>> >>>> Could lead to the following kernel crashes : >>>> [ 46.937975] Bad mode in Error handler detected on CPU1, code 0xbf000000 -- SError >>>> ... >>>> [ 47.058536] Internal error: Attempting to execute userspace memory: 8600000f [#3] PREEMPT SMP >>>> ... >>>> Instead of the OOM killer. >>>> >>> >>> I miss a Fixes: or Cc: here for the backport you desired. To have it >>> fixed back to my very introduction: >>> >>> Fixes: 4f24eda8401f ("ARM64: dts: Prepare configs for Amlogic Meson GXBaby") >>> >>> People backporting it would need to handle the meson-{gx => gxbb}.dtsi >>> transition for 4.9 down to 4.6, which seems fairly straightforward. >>> >>>> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> >>>> --- >>>> arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 18 ++++++++++++++++++ >>>> 1 file changed, 18 insertions(+) >>>> >>>> Changes since v4 at [5]: >>>> - Move start of ddr memory to reserved-memory node >>>> - Drop memory node move >>>> - Fix typo in sizes >>>> >>>> Changes since resent v2 at [4]: >>>> - Fix invalid comment of useable memory attributes >>>> >>>> Changes since original v2 at [3]: >>>> - Typo in commit 2GiB -> 1GiB, 4GiB -> 2GiB >>>> >>>> Changes since v2 at [2]: >>>> - Moved all memory node out of dtsi >>>> - Added comment about useable memory >>>> - Fixed comment about secmon reserved zone >>>> >>>> Changes since v1 at [1] : >>>> - Renamed reg into linux,usable-memory to ovveride u-boot memory >>>> - only kept secmon memory zone >>>> >>>> [1] http://lkml.kernel.org/r/20161212101801.28491-1-narmstrong@baylibre.com >>>> [2] http://lkml.kernel.org/r/1483105232-6242-1-git-send-email-narmstrong@baylibre.com >>>> [3] http://lkml.kernel.org/r/1484128128-22454-1-git-send-email-narmstrong@baylibre.com >>>> [4] http://lkml.kernel.org/r/1484128540-22662-1-git-send-email-narmstrong@baylibre.com >>>> [5] http://lkml.kernel.org/r/1484129414-23325-1-git-send-email-narmstrong@baylibre.com >>>> >>>> diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi >>>> index eada0b5..63d52b7 100644 >>>> --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi >>>> +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi >>>> @@ -55,6 +55,24 @@ >>>> #address-cells = <2>; >>>> #size-cells = <2>; >>>> >>>> + reserved-memory { >>>> + #address-cells = <2>; >>>> + #size-cells = <2>; >>>> + ranges; >>>> + >>>> + /* 16 MiB reserved for Hardware ROM Firmware */ >>>> + hwrom: hwrom { >>> >>> Both sub-nodes get a label that is unused, but reserved-memory itself >>> does not (my v4 remark). Intentional? >>> >>>> + reg = <0x0 0x0 0x0 0x1000000>; >>>> + no-map; >>>> + }; >>>> + >>>> + /* 2 MiB reserved for ARM Trusted Firmware (BL31) */ >>>> + secmon: secmon { >>> >>> I note that this .dtsi further down has a node /firmware/secure-monitor >>> with label sm. >>> a) Is there any naming convention such as secmon_mem to adopt here to >>> avoid mixups with sm? >>> b) Should this secmon node be referenced in the secure-monitor node via >>> memory-node = <&secmon>; to model their connection, thereby giving the >>> label a use? Or should we maybe merge the two nodes by moving the >>> compatible string here? >>> >>> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt >> >> Answering my own question: the example labels use _reserved suffix. >> >>>> + reg = <0x0 0x10000000 0x0 0x200000>; >> >> And since we use a reg property here, the node name should get a unit >> address to avoid future dtc warnings/errors. Ditto for hwrom. > > OK, I added Fixes:, your Reviewed-by, added the _reserved suffix and > unit address and applied to v4.10/fixes. > > Update patch below for reference. Perfect, more than I expected. Thanks, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-01-20 9:14 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-01-18 16:50 [PATCH v5] ARM64: dts: meson-gx: Add firmware reserved memory zones Neil Armstrong 2017-01-18 23:04 ` Kevin Hilman 2017-01-19 0:20 ` Andreas Färber 2017-01-19 1:18 ` Andreas Färber 2017-01-19 4:36 ` Kevin Hilman 2017-01-20 9:14 ` Andreas Färber
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).