From: Suzuki K Poulose <suzuki.poulose@arm.com> To: will@kernel.org, mathieu.poirier@linaro.org Cc: catalin.marinas@arm.com, anshuman.khandual@arm.com, mike.leach@linaro.org, leo.yan@linaro.org, maz@kernel.org, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Suzuki K Poulose <suzuki.poulose@arm.com> Subject: [PATCH v6 00/15] arm64: Self-hosted trace related errata workarounds Date: Tue, 19 Oct 2021 17:31:38 +0100 [thread overview] Message-ID: <20211019163153.3692640-1-suzuki.poulose@arm.com> (raw) This series adds CPU erratum work arounds related to the self-hosted tracing. The list of affected errata handled in this series are : * TRBE may overwrite trace in FILL mode - Arm Neoverse-N2 #2139208 - Cortex-A710 #211985 * A TSB instruction may not flush the trace completely when executed in trace prohibited region. - Arm Neoverse-N2 #2067961 - Cortex-A710 #2054223 * TRBE may write to out-of-range address - Arm Neoverse-N2 #2253138 - Cortex-A710 #2224489 The series applies on coresight/next. The series has been reordered to make it easier to merge the patches via arm64 tree and the coresight tree. Patches 1-4 are could be picked up via arm64 tree. The rest can go via the coresight tree. The Kconfig items for the TRBE errata are initially dropped in with dependency on COMPILE_TEST. These are dropped only after the driver is equipped with the work around in later patches. A tree is available here : git@git.gitlab.arm.com:linux-arm/linux-skp.git coresight/errata/trbe-tsb-n2-a710/v6 Changes since v5: * https://lkml.kernel.org/r/20211014223125.2605031-1-suzuki.poulose@arm.com - Fix typo in the Kconfig symbol usage in errata listing (Will) - Fix typo in commit description for "arm64: errata: Add detection for TRBE overwrite in FILL mode" - Fix commit description checkpatch warnings on column length for: "arm64: errata: Add detection for TRBE write to out-of-range" - Collected Reviews/Acks from Mathieu/Anshuman/Will Changes since v4: * https://lkml.kernel.org/r/20211012131743.2040596-1-suzuki.poulose@arm.com - Fix WARN on trbe driver probe on a hotplugged CPU, by making sure that the arm_trbe_probe_cpu() is called from non-premptible context. this_cpu_has_cap() doesn't like to be called from a preemptible() context. - Fix Kconfig text issues pointed out by Randy Changes since v3: - Fix missing Kconfig selection for TSB flush failure erratum (Will) Merged the Kconfig changes to the core patch for TSB. - Use COMPILE_TEST dependency for the TRBE work arounds instead of delaying the Kconfig entries. Changes since v2: * https://lkml.kernel.org/r/20210921134121.2423546-1-suzuki.poulose@arm.com - Dropped patch adding a helper to reach cpudata from perf handle - Split the TSB erratum work around patch to split the Kconfig/erratum list update changes(pushed to the end of the series). - Added wrappers to check the erratum : trbe_has_erratum(cpudata, TRBE_ERRATUM_<TITLE>) -> trbe_may_<title> - More ASCII art explanation on workaround. Changes since v1: * https://lkml.kernel.org/r/20210728135217.591173-1-suzuki.poulose@arm.com - Added a fix to the TRBE driver handling of sink_specific data - Added more description and ASCII art for overwrite in FILL mode work around - Added another TRBE erratum to the list. "TRBE may write to out-of-range address" Patches from 12-17 - Added comment to list the expectations around TSB erratum workaround. Suzuki K Poulose (15): arm64: Add Neoverse-N2, Cortex-A710 CPU part definition arm64: errata: Add detection for TRBE overwrite in FILL mode arm64: errata: Add workaround for TSB flush failures arm64: errata: Add detection for TRBE write to out-of-range coresight: trbe: Add a helper to calculate the trace generated coresight: trbe: Add a helper to pad a given buffer area coresight: trbe: Decouple buffer base from the hardware base coresight: trbe: Allow driver to choose a different alignment coresight: trbe: Add infrastructure for Errata handling coresight: trbe: Workaround TRBE errata overwrite in FILL mode coresight: trbe: Add a helper to determine the minimum buffer size coresight: trbe: Make sure we have enough space coresight: trbe: Work around write to out of range arm64: errata: Enable workaround for TRBE overwrite in FILL mode arm64: errata: Enable TRBE workaround for write to out-of-range address Documentation/arm64/silicon-errata.rst | 12 + arch/arm64/Kconfig | 111 ++++++ arch/arm64/include/asm/barrier.h | 16 +- arch/arm64/include/asm/cputype.h | 4 + arch/arm64/kernel/cpu_errata.c | 64 +++ arch/arm64/tools/cpucaps | 3 + drivers/hwtracing/coresight/coresight-trbe.c | 394 +++++++++++++++++-- 7 files changed, 567 insertions(+), 37 deletions(-) -- 2.25.4
WARNING: multiple messages have this Message-ID (diff)
From: Suzuki K Poulose <suzuki.poulose@arm.com> To: will@kernel.org, mathieu.poirier@linaro.org Cc: catalin.marinas@arm.com, anshuman.khandual@arm.com, mike.leach@linaro.org, leo.yan@linaro.org, maz@kernel.org, coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Suzuki K Poulose <suzuki.poulose@arm.com> Subject: [PATCH v6 00/15] arm64: Self-hosted trace related errata workarounds Date: Tue, 19 Oct 2021 17:31:38 +0100 [thread overview] Message-ID: <20211019163153.3692640-1-suzuki.poulose@arm.com> (raw) This series adds CPU erratum work arounds related to the self-hosted tracing. The list of affected errata handled in this series are : * TRBE may overwrite trace in FILL mode - Arm Neoverse-N2 #2139208 - Cortex-A710 #211985 * A TSB instruction may not flush the trace completely when executed in trace prohibited region. - Arm Neoverse-N2 #2067961 - Cortex-A710 #2054223 * TRBE may write to out-of-range address - Arm Neoverse-N2 #2253138 - Cortex-A710 #2224489 The series applies on coresight/next. The series has been reordered to make it easier to merge the patches via arm64 tree and the coresight tree. Patches 1-4 are could be picked up via arm64 tree. The rest can go via the coresight tree. The Kconfig items for the TRBE errata are initially dropped in with dependency on COMPILE_TEST. These are dropped only after the driver is equipped with the work around in later patches. A tree is available here : git@git.gitlab.arm.com:linux-arm/linux-skp.git coresight/errata/trbe-tsb-n2-a710/v6 Changes since v5: * https://lkml.kernel.org/r/20211014223125.2605031-1-suzuki.poulose@arm.com - Fix typo in the Kconfig symbol usage in errata listing (Will) - Fix typo in commit description for "arm64: errata: Add detection for TRBE overwrite in FILL mode" - Fix commit description checkpatch warnings on column length for: "arm64: errata: Add detection for TRBE write to out-of-range" - Collected Reviews/Acks from Mathieu/Anshuman/Will Changes since v4: * https://lkml.kernel.org/r/20211012131743.2040596-1-suzuki.poulose@arm.com - Fix WARN on trbe driver probe on a hotplugged CPU, by making sure that the arm_trbe_probe_cpu() is called from non-premptible context. this_cpu_has_cap() doesn't like to be called from a preemptible() context. - Fix Kconfig text issues pointed out by Randy Changes since v3: - Fix missing Kconfig selection for TSB flush failure erratum (Will) Merged the Kconfig changes to the core patch for TSB. - Use COMPILE_TEST dependency for the TRBE work arounds instead of delaying the Kconfig entries. Changes since v2: * https://lkml.kernel.org/r/20210921134121.2423546-1-suzuki.poulose@arm.com - Dropped patch adding a helper to reach cpudata from perf handle - Split the TSB erratum work around patch to split the Kconfig/erratum list update changes(pushed to the end of the series). - Added wrappers to check the erratum : trbe_has_erratum(cpudata, TRBE_ERRATUM_<TITLE>) -> trbe_may_<title> - More ASCII art explanation on workaround. Changes since v1: * https://lkml.kernel.org/r/20210728135217.591173-1-suzuki.poulose@arm.com - Added a fix to the TRBE driver handling of sink_specific data - Added more description and ASCII art for overwrite in FILL mode work around - Added another TRBE erratum to the list. "TRBE may write to out-of-range address" Patches from 12-17 - Added comment to list the expectations around TSB erratum workaround. Suzuki K Poulose (15): arm64: Add Neoverse-N2, Cortex-A710 CPU part definition arm64: errata: Add detection for TRBE overwrite in FILL mode arm64: errata: Add workaround for TSB flush failures arm64: errata: Add detection for TRBE write to out-of-range coresight: trbe: Add a helper to calculate the trace generated coresight: trbe: Add a helper to pad a given buffer area coresight: trbe: Decouple buffer base from the hardware base coresight: trbe: Allow driver to choose a different alignment coresight: trbe: Add infrastructure for Errata handling coresight: trbe: Workaround TRBE errata overwrite in FILL mode coresight: trbe: Add a helper to determine the minimum buffer size coresight: trbe: Make sure we have enough space coresight: trbe: Work around write to out of range arm64: errata: Enable workaround for TRBE overwrite in FILL mode arm64: errata: Enable TRBE workaround for write to out-of-range address Documentation/arm64/silicon-errata.rst | 12 + arch/arm64/Kconfig | 111 ++++++ arch/arm64/include/asm/barrier.h | 16 +- arch/arm64/include/asm/cputype.h | 4 + arch/arm64/kernel/cpu_errata.c | 64 +++ arch/arm64/tools/cpucaps | 3 + drivers/hwtracing/coresight/coresight-trbe.c | 394 +++++++++++++++++-- 7 files changed, 567 insertions(+), 37 deletions(-) -- 2.25.4 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2021-10-19 16:32 UTC|newest] Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-10-19 16:31 Suzuki K Poulose [this message] 2021-10-19 16:31 ` [PATCH v6 00/15] arm64: Self-hosted trace related errata workarounds Suzuki K Poulose 2021-10-19 16:31 ` [PATCH v6 01/15] arm64: Add Neoverse-N2, Cortex-A710 CPU part definition Suzuki K Poulose 2021-10-19 16:31 ` Suzuki K Poulose 2021-10-19 16:31 ` [PATCH v6 02/15] arm64: errata: Add detection for TRBE overwrite in FILL mode Suzuki K Poulose 2021-10-19 16:31 ` Suzuki K Poulose 2021-10-19 16:31 ` [PATCH v6 03/15] arm64: errata: Add workaround for TSB flush failures Suzuki K Poulose 2021-10-19 16:31 ` Suzuki K Poulose 2021-10-19 16:31 ` [PATCH v6 04/15] arm64: errata: Add detection for TRBE write to out-of-range Suzuki K Poulose 2021-10-19 16:31 ` Suzuki K Poulose 2021-10-19 16:31 ` [PATCH v6 05/15] coresight: trbe: Add a helper to calculate the trace generated Suzuki K Poulose 2021-10-19 16:31 ` Suzuki K Poulose 2021-10-19 16:31 ` [PATCH v6 06/15] coresight: trbe: Add a helper to pad a given buffer area Suzuki K Poulose 2021-10-19 16:31 ` Suzuki K Poulose 2021-10-19 16:31 ` [PATCH v6 07/15] coresight: trbe: Decouple buffer base from the hardware base Suzuki K Poulose 2021-10-19 16:31 ` Suzuki K Poulose 2021-10-19 16:31 ` [PATCH v6 08/15] coresight: trbe: Allow driver to choose a different alignment Suzuki K Poulose 2021-10-19 16:31 ` Suzuki K Poulose 2021-10-19 16:31 ` [PATCH v6 09/15] coresight: trbe: Add infrastructure for Errata handling Suzuki K Poulose 2021-10-19 16:31 ` Suzuki K Poulose 2021-10-19 16:31 ` [PATCH v6 10/15] coresight: trbe: Workaround TRBE errata overwrite in FILL mode Suzuki K Poulose 2021-10-19 16:31 ` Suzuki K Poulose 2021-10-19 16:31 ` [PATCH v6 11/15] coresight: trbe: Add a helper to determine the minimum buffer size Suzuki K Poulose 2021-10-19 16:31 ` Suzuki K Poulose 2021-10-19 16:31 ` [PATCH v6 12/15] coresight: trbe: Make sure we have enough space Suzuki K Poulose 2021-10-19 16:31 ` Suzuki K Poulose 2021-10-19 16:31 ` [PATCH v6 13/15] coresight: trbe: Work around write to out of range Suzuki K Poulose 2021-10-19 16:31 ` Suzuki K Poulose 2021-10-19 16:31 ` [PATCH v6 14/15] arm64: errata: Enable workaround for TRBE overwrite in FILL mode Suzuki K Poulose 2021-10-19 16:31 ` Suzuki K Poulose 2021-10-19 16:31 ` [PATCH v6 15/15] arm64: errata: Enable TRBE workaround for write to out-of-range address Suzuki K Poulose 2021-10-19 16:31 ` Suzuki K Poulose 2021-10-20 15:42 ` [PATCH v6 00/15] arm64: Self-hosted trace related errata workarounds Mathieu Poirier 2021-10-20 15:42 ` Mathieu Poirier 2021-10-21 8:53 ` Will Deacon 2021-10-21 8:53 ` Will Deacon 2021-10-21 16:35 ` Mathieu Poirier 2021-10-21 16:35 ` Mathieu Poirier 2021-10-21 16:47 ` Will Deacon 2021-10-21 16:47 ` Will Deacon 2021-10-21 17:11 ` Mathieu Poirier 2021-10-21 17:11 ` Mathieu Poirier 2021-10-21 21:42 ` Suzuki K Poulose 2021-10-21 21:42 ` Suzuki K Poulose 2021-10-22 7:14 ` Greg KH 2021-10-22 7:14 ` Greg KH 2021-10-22 15:13 ` Mathieu Poirier 2021-10-22 15:13 ` Mathieu Poirier 2021-10-22 15:27 ` Mathieu Poirier 2021-10-22 15:27 ` Mathieu Poirier 2021-10-23 8:58 ` Greg KH 2021-10-23 8:58 ` Greg KH 2021-10-21 17:11 ` Will Deacon 2021-10-21 17:11 ` Will Deacon
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20211019163153.3692640-1-suzuki.poulose@arm.com \ --to=suzuki.poulose@arm.com \ --cc=anshuman.khandual@arm.com \ --cc=catalin.marinas@arm.com \ --cc=coresight@lists.linaro.org \ --cc=leo.yan@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mathieu.poirier@linaro.org \ --cc=maz@kernel.org \ --cc=mike.leach@linaro.org \ --cc=will@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.