diff options
Diffstat (limited to 'target/linux/ipq40xx/patches-4.14/082-ARM-dts-ipq4019-Add-TZ-and-SMEM-reserved-regions.patch')
-rw-r--r-- | target/linux/ipq40xx/patches-4.14/082-ARM-dts-ipq4019-Add-TZ-and-SMEM-reserved-regions.patch | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/target/linux/ipq40xx/patches-4.14/082-ARM-dts-ipq4019-Add-TZ-and-SMEM-reserved-regions.patch b/target/linux/ipq40xx/patches-4.14/082-ARM-dts-ipq4019-Add-TZ-and-SMEM-reserved-regions.patch deleted file mode 100644 index 6a595d5ef6..0000000000 --- a/target/linux/ipq40xx/patches-4.14/082-ARM-dts-ipq4019-Add-TZ-and-SMEM-reserved-regions.patch +++ /dev/null @@ -1,88 +0,0 @@ -From fc566294610fa49e9d8c31c4ecc9c82f49b11f59 Mon Sep 17 00:00:00 2001 -From: Sven Eckelmann <sven.eckelmann@openmesh.com> -Date: Wed, 18 Apr 2018 09:10:44 +0200 -Subject: [PATCH] ARM: dts: ipq4019: Add TZ and SMEM reserved regions - -The QSEE (trustzone) is started on IPQ4019 before Linux is started. -According to QCA, it is placed in in the the memory region -0x87e80000-0x88000000 and must not be accessed directly. There is an -additional memory region 0x87e00000-0x87E80000 smem which which can be used -for communication with the TZ. The driver for the latter is not yet ready -but it is still not allowed to use this memory region like any other -memory region. - -Not reserving this memory region either leads to kernel crashes, kernel -hangs (often during the boot) or bus errors for userspace programs. The -latter happens when a program is using a memory region which is mapped to -these physical memory regions. - - [ 571.758058] Unhandled fault: imprecise external abort (0xc06) at 0x01715ff8 - [ 571.758099] pgd = cebec000 - [ 571.763826] [01715ff8] *pgd=8e7fa835, *pte=87e7f75f, *ppte=87e7fc7f - Bus error - -Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com> - -Forwarded: https://patchwork.kernel.org/patch/10347459/ ---- -Cc: Sricharan Ramabadhran <srichara@qti.qualcomm.com> -Cc: Senthilkumar N L <snlakshm@qti.qualcomm.com> - -There are additional memory regions which have to be initialized first by -Linux. So they are currently not used. We were told by QCA that the -features QSDK uses them for are: - -* crash dump feature - - a couple of regions used when 'qca,scm_restart_reason' dt node has the - value 'dload_status' not set to 1 - + apps_bl <0x87000000 0x400000> - + sbl <0x87400000 0x100000> - + cnss_debug <0x87400000 0x100000> - + cpu_context_dump <0x87b00000 0x080000> - - required driver not available in Linux - - safe to remove -* QSEE app execution - - region tz_apps <0x87b80000 0x280000> - - required driver not available in Linux - - safe to remove -* communication with TZ/QSEE - - region smem <0x87b80000 0x280000> - - driver changes not yet upstreamed - - must not be removed because any access can crash kernel/program -* trustzone (QSEE) private memory - - region tz <0x87e80000 0x180000> - - must not be removed because any access can crash kernel/program - -The problem with the missing regions was reported in 2016 [1]. So maybe -this change qualifies for a stable@vger.kernel.org submission. - -[1] https://www.spinics.net/lists/linux-arm-msm/msg21536.html ---- - arch/arm/boot/dts/qcom-ipq4019.dtsi | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - ---- a/arch/arm/boot/dts/qcom-ipq4019.dtsi -+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi -@@ -23,6 +23,22 @@ - compatible = "qcom,ipq4019"; - interrupt-parent = <&intc>; - -+ reserved-memory { -+ #address-cells = <0x1>; -+ #size-cells = <0x1>; -+ ranges; -+ -+ smem_region: smem@87e00000 { -+ reg = <0x87e00000 0x080000>; -+ no-map; -+ }; -+ -+ tz@87e80000 { -+ reg = <0x87e80000 0x180000>; -+ no-map; -+ }; -+ }; -+ - aliases { - spi0 = &blsp1_spi1; - spi1 = &blsp1_spi2; |