From cf9d2d33be50569647e8bcbcf444e08d726ddb6e Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 24 Jan 2017 04:18:37 +0000 Subject: [PATCH] [arm64] dts: meson-gx: Add firmware reserved memory zones An important bug fix for this newly enabled hardware, requested in #852132. --- debian/changelog | 1 + ...gx-add-firmware-reserved-memory-zone.patch | 62 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 64 insertions(+) create mode 100644 debian/patches/features/arm64/dts-meson-gx-add-firmware-reserved-memory-zone.patch diff --git a/debian/changelog b/debian/changelog index 2fc385eea..33eaa7a52 100644 --- a/debian/changelog +++ b/debian/changelog @@ -353,6 +353,7 @@ linux (4.9.5-1) UNRELEASED; urgency=medium * [x86] linux-cpupower: Add turbostat and x86_energy_perf_policy commands (Closes: #778249) * [arm64] Enable ARCH_MESON and related drivers (Closes: #852132) + * [arm64] dts: meson-gx: Add firmware reserved memory zones [ Salvatore Bonaccorso ] * tmpfs: clear S_ISGID when setting posix ACLs (CVE-2017-5551) diff --git a/debian/patches/features/arm64/dts-meson-gx-add-firmware-reserved-memory-zone.patch b/debian/patches/features/arm64/dts-meson-gx-add-firmware-reserved-memory-zone.patch new file mode 100644 index 000000000..23d281d0f --- /dev/null +++ b/debian/patches/features/arm64/dts-meson-gx-add-firmware-reserved-memory-zone.patch @@ -0,0 +1,62 @@ +From: Neil Armstrong +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 +Reviewed-by: Andreas Färber +[khilman: added Fixes tag, added _reserved and unit addresses] +Signed-off-by: Kevin Hilman +[bwh: Backported to 4.9: adjust filename] +--- + arch/arm64/boot/dts/amlogic/meson-gxbb.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-gxbb.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.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>; diff --git a/debian/patches/series b/debian/patches/series index 65074a9fd..e220176f8 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -56,6 +56,7 @@ features/x86/x86-make-x32-syscall-support-conditional.patch features/arm/arm-dts-add-support-for-turris-omnia.patch features/arm/arm-dts-turris-omnia-add-support-for-ethernet-switch.patch features/arm/ARM-dts-orion5x-convert-ls-chl-to-FDT.patch +features/arm64/dts-meson-gx-add-firmware-reserved-memory-zone.patch # Miscellaneous bug fixes bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch