62 lines
2.0 KiB
Diff
62 lines
2.0 KiB
Diff
From: Neil Armstrong <narmstrong@baylibre.com>
|
|
Date: Wed, 18 Jan 2017 17:50:45 +0100
|
|
Subject: ARM64: dts: meson-gx: Add firmware reserved memory zones
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
Origin: https://git.kernel.org/cgit/linux/kernel/git/khilman/linux-amlogic.git/commit?id=ecb88f3001ed9ee8c53450d971de8c18bcbf7925
|
|
Bug-Debian: https://bugs.debian.org/852132
|
|
|
|
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-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.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>;
|