All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Martin <Dave.Martin@arm.com>
To: Suzuki K Poulose <Suzuki.Poulose@arm.com>
Cc: mark.rutland@arm.com, ckadabi@codeaurora.org,
	ard.biesheuvel@linaro.org, marc.zyngier@arm.com,
	catalin.marinas@arm.com, will.deacon@arm.com,
	linux-kernel@vger.kernel.org, jnair@caviumnetworks.com,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 07/16] arm64: capabilities: Filter the entries based on a given type
Date: Mon, 29 Jan 2018 17:06:28 +0000	[thread overview]
Message-ID: <20180129170627.GA5862@e103592.cambridge.arm.com> (raw)
In-Reply-To: <bea651c0-9184-79ea-5613-c59fa6c64a79@arm.com>

On Fri, Jan 26, 2018 at 12:21:43PM +0000, Suzuki K Poulose wrote:
> On 26/01/18 11:22, Dave Martin wrote:
> >On Tue, Jan 23, 2018 at 12:28:00PM +0000, Suzuki K Poulose wrote:
> >>While processing the list of capabilities, it is useful to
> >>filter out some of the entries based on the given type to
> >>allow better control. This can be used later for handling
> >>LOCAL vs SYSTEM wide capabilities and more.
> >>
> >>Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
> >>---
> >>  arch/arm64/include/asm/cpufeature.h |  5 +++++
> >>  arch/arm64/kernel/cpufeature.c      | 30 ++++++++++++++++++++----------
> >>  2 files changed, 25 insertions(+), 10 deletions(-)
> >>
> >>diff --git a/arch/arm64/include/asm/cpufeature.h b/arch/arm64/include/asm/cpufeature.h
> >>index 27d037bb0451..a621d2184227 100644
> >>--- a/arch/arm64/include/asm/cpufeature.h
> >>+++ b/arch/arm64/include/asm/cpufeature.h
> >>@@ -99,6 +99,11 @@ extern struct arm64_ftr_reg arm64_ftr_reg_ctrel0;
> >>  /* Is it safe for a late CPU to miss this capability when system has it */
> >>  #define ARM64_CPUCAP_LATE_CPU_SAFE_TO_MISS	BIT(3)
> >>+#define ARM64_CPUCAP_TYPE_ALL			 \
> >>+	(ARM64_CPUCAP_SCOPE_LOCAL_CPU		|\
> >>+	 ARM64_CPUCAP_SCOPE_SYSTEM		|\
> >>+	 ARM64_CPUCAP_LATE_CPU_SAFE_TO_HAVE	|\
> >>+	 ARM64_CPUCAP_LATE_CPU_SAFE_TO_MISS)
> >
> >Nit: can we have another tab between | and \?
> >
> >This will help to make missing |s stand out more if/when more entries
> >are added to this list in future.
> >
> 
> Sure, will do.
> 
> >>  /*
> >>   * CPU errata detected at boot time based on feature of one or more CPUs.
> >>   * It is not safe for a late CPU to have this feature when the system doesn't
> >>diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c

[...]

> >>@@ -1204,12 +1206,13 @@ static int __enable_cpu_capability(void *arg)
> >>   * Run through the enabled capabilities and enable() it on all active
> >>   * CPUs
> >>   */
> >>-static void __init enable_cpu_capabilities(const struct arm64_cpu_capabilities *caps)
> >>+static void __init
> >>+enable_cpu_capabilities(const struct arm64_cpu_capabilities *caps, u16 caps_type)
> >
> >The "caps_type" argument should be named consistently with the
> >corresponding argument to update_cpu_capabilities().

[...]

> >>  static void verify_local_cpu_errata_workarounds(void)
> >>  {
> >>-	if (__verify_local_cpu_caps(arm64_errata))
> >>+	if (!__verify_local_cpu_caps(arm64_errata, ARM64_CPUCAP_TYPE_ALL))
> >>  		cpu_die_early();
> >
> >Did you mean to insert the ! here?
> 
> Thanks for spotting. I think it should have been there in the first place,
> as we get "false" when there is a conflict. I will fix the previous patch which
> adds the call.

Oh, right.  Yes, I think that probably makes sense.

Cheers
---Dave

WARNING: multiple messages have this Message-ID (diff)
From: Dave.Martin@arm.com (Dave Martin)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 07/16] arm64: capabilities: Filter the entries based on a given type
Date: Mon, 29 Jan 2018 17:06:28 +0000	[thread overview]
Message-ID: <20180129170627.GA5862@e103592.cambridge.arm.com> (raw)
In-Reply-To: <bea651c0-9184-79ea-5613-c59fa6c64a79@arm.com>

On Fri, Jan 26, 2018 at 12:21:43PM +0000, Suzuki K Poulose wrote:
> On 26/01/18 11:22, Dave Martin wrote:
> >On Tue, Jan 23, 2018 at 12:28:00PM +0000, Suzuki K Poulose wrote:
> >>While processing the list of capabilities, it is useful to
> >>filter out some of the entries based on the given type to
> >>allow better control. This can be used later for handling
> >>LOCAL vs SYSTEM wide capabilities and more.
> >>
> >>Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
> >>---
> >>  arch/arm64/include/asm/cpufeature.h |  5 +++++
> >>  arch/arm64/kernel/cpufeature.c      | 30 ++++++++++++++++++++----------
> >>  2 files changed, 25 insertions(+), 10 deletions(-)
> >>
> >>diff --git a/arch/arm64/include/asm/cpufeature.h b/arch/arm64/include/asm/cpufeature.h
> >>index 27d037bb0451..a621d2184227 100644
> >>--- a/arch/arm64/include/asm/cpufeature.h
> >>+++ b/arch/arm64/include/asm/cpufeature.h
> >>@@ -99,6 +99,11 @@ extern struct arm64_ftr_reg arm64_ftr_reg_ctrel0;
> >>  /* Is it safe for a late CPU to miss this capability when system has it */
> >>  #define ARM64_CPUCAP_LATE_CPU_SAFE_TO_MISS	BIT(3)
> >>+#define ARM64_CPUCAP_TYPE_ALL			 \
> >>+	(ARM64_CPUCAP_SCOPE_LOCAL_CPU		|\
> >>+	 ARM64_CPUCAP_SCOPE_SYSTEM		|\
> >>+	 ARM64_CPUCAP_LATE_CPU_SAFE_TO_HAVE	|\
> >>+	 ARM64_CPUCAP_LATE_CPU_SAFE_TO_MISS)
> >
> >Nit: can we have another tab between | and \?
> >
> >This will help to make missing |s stand out more if/when more entries
> >are added to this list in future.
> >
> 
> Sure, will do.
> 
> >>  /*
> >>   * CPU errata detected at boot time based on feature of one or more CPUs.
> >>   * It is not safe for a late CPU to have this feature when the system doesn't
> >>diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c

[...]

> >>@@ -1204,12 +1206,13 @@ static int __enable_cpu_capability(void *arg)
> >>   * Run through the enabled capabilities and enable() it on all active
> >>   * CPUs
> >>   */
> >>-static void __init enable_cpu_capabilities(const struct arm64_cpu_capabilities *caps)
> >>+static void __init
> >>+enable_cpu_capabilities(const struct arm64_cpu_capabilities *caps, u16 caps_type)
> >
> >The "caps_type" argument should be named consistently with the
> >corresponding argument to update_cpu_capabilities().

[...]

> >>  static void verify_local_cpu_errata_workarounds(void)
> >>  {
> >>-	if (__verify_local_cpu_caps(arm64_errata))
> >>+	if (!__verify_local_cpu_caps(arm64_errata, ARM64_CPUCAP_TYPE_ALL))
> >>  		cpu_die_early();
> >
> >Did you mean to insert the ! here?
> 
> Thanks for spotting. I think it should have been there in the first place,
> as we get "false" when there is a conflict. I will fix the previous patch which
> adds the call.

Oh, right.  Yes, I think that probably makes sense.

Cheers
---Dave

  reply	other threads:[~2018-01-29 17:06 UTC|newest]

Thread overview: 134+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-23 12:27 [PATCH 00/16] arm64: Rework cpu capabilities handling Suzuki K Poulose
2018-01-23 12:27 ` Suzuki K Poulose
2018-01-23 12:27 ` [PATCH 01/16] arm64: capabilities: Update prototype for enable call back Suzuki K Poulose
2018-01-23 12:27   ` Suzuki K Poulose
2018-01-23 14:52   ` Dave Martin
2018-01-23 14:52     ` Dave Martin
2018-01-23 15:38     ` Suzuki K Poulose
2018-01-23 15:38       ` Suzuki K Poulose
2018-01-25 15:36       ` Dave Martin
2018-01-25 15:36         ` Dave Martin
2018-01-25 16:57         ` Suzuki K Poulose
2018-01-25 16:57           ` Suzuki K Poulose
2018-01-29 16:35           ` Dave Martin
2018-01-29 16:35             ` Dave Martin
2018-01-23 12:27 ` [PATCH 02/16] arm64: Move errata work around check on boot CPU Suzuki K Poulose
2018-01-23 12:27   ` Suzuki K Poulose
2018-01-23 14:59   ` Dave Martin
2018-01-23 14:59     ` Dave Martin
2018-01-23 15:07     ` Suzuki K Poulose
2018-01-23 15:07       ` Suzuki K Poulose
2018-01-23 15:11       ` Dave Martin
2018-01-23 15:11         ` Dave Martin
2018-01-23 12:27 ` [PATCH 03/16] arm64: Move errata capability processing code Suzuki K Poulose
2018-01-23 12:27   ` Suzuki K Poulose
2018-01-23 12:27 ` [PATCH 04/16] arm64: capabilities: Prepare for fine grained capabilities Suzuki K Poulose
2018-01-23 12:27   ` Suzuki K Poulose
2018-01-23 17:33   ` Dave Martin
2018-01-23 17:33     ` Dave Martin
2018-01-24 18:45     ` Suzuki K Poulose
2018-01-24 18:45       ` Suzuki K Poulose
2018-01-25 13:43       ` Dave Martin
2018-01-25 13:43         ` Dave Martin
2018-01-25 17:08         ` Suzuki K Poulose
2018-01-25 17:08           ` Suzuki K Poulose
2018-01-25 17:38           ` Dave Martin
2018-01-25 17:38             ` Dave Martin
2018-01-25 17:33   ` Dave Martin
2018-01-25 17:33     ` Dave Martin
2018-01-25 17:56     ` Suzuki K Poulose
2018-01-25 17:56       ` Suzuki K Poulose
2018-01-26 10:00       ` Dave Martin
2018-01-26 10:00         ` Dave Martin
2018-01-26 12:13         ` Suzuki K Poulose
2018-01-26 12:13           ` Suzuki K Poulose
2018-01-23 12:27 ` [PATCH 05/16] arm64: Add flags to check the safety of a capability for late CPU Suzuki K Poulose
2018-01-23 12:27   ` Suzuki K Poulose
2018-01-26 10:10   ` Dave Martin
2018-01-26 10:10     ` Dave Martin
2018-01-30 11:17     ` Suzuki K Poulose
2018-01-30 11:17       ` Suzuki K Poulose
2018-01-30 14:56       ` Dave Martin
2018-01-30 14:56         ` Dave Martin
2018-01-30 15:06         ` Suzuki K Poulose
2018-01-30 15:06           ` Suzuki K Poulose
2018-01-23 12:27 ` [PATCH 06/16] arm64: capabilities: Unify the verification Suzuki K Poulose
2018-01-23 12:27   ` Suzuki K Poulose
2018-01-26 11:08   ` Dave Martin
2018-01-26 11:08     ` Dave Martin
2018-01-26 12:10     ` Suzuki K Poulose
2018-01-26 12:10       ` Suzuki K Poulose
2018-01-29 16:57       ` Dave Martin
2018-01-29 16:57         ` Dave Martin
2018-01-23 12:28 ` [PATCH 07/16] arm64: capabilities: Filter the entries based on a given type Suzuki K Poulose
2018-01-23 12:28   ` Suzuki K Poulose
2018-01-26 11:22   ` Dave Martin
2018-01-26 11:22     ` Dave Martin
2018-01-26 12:21     ` Suzuki K Poulose
2018-01-26 12:21       ` Suzuki K Poulose
2018-01-29 17:06       ` Dave Martin [this message]
2018-01-29 17:06         ` Dave Martin
2018-01-23 12:28 ` [PATCH 08/16] arm64: capabilities: Group handling of features and errata Suzuki K Poulose
2018-01-23 12:28   ` Suzuki K Poulose
2018-01-26 11:47   ` Dave Martin
2018-01-26 11:47     ` Dave Martin
2018-01-26 12:31     ` Suzuki K Poulose
2018-01-26 12:31       ` Suzuki K Poulose
2018-01-29 17:14       ` Dave Martin
2018-01-29 17:14         ` Dave Martin
2018-01-29 17:22         ` Suzuki K Poulose
2018-01-29 17:22           ` Suzuki K Poulose
2018-01-30 15:06           ` Dave Martin
2018-01-30 15:06             ` Dave Martin
2018-01-23 12:28 ` [PATCH 09/16] arm64: capabilities: Introduce strict features based on local CPU Suzuki K Poulose
2018-01-23 12:28   ` Suzuki K Poulose
2018-01-26 12:12   ` Dave Martin
2018-01-26 12:12     ` Dave Martin
2018-01-30 11:25     ` Suzuki K Poulose
2018-01-30 11:25       ` Suzuki K Poulose
2018-01-23 12:28 ` [PATCH 10/16] arm64: Make KPTI strict CPU local feature Suzuki K Poulose
2018-01-23 12:28   ` Suzuki K Poulose
2018-01-26 12:25   ` Dave Martin
2018-01-26 12:25     ` Dave Martin
2018-01-26 15:46     ` Suzuki K Poulose
2018-01-26 15:46       ` Suzuki K Poulose
2018-01-29 17:24       ` Dave Martin
2018-01-29 17:24         ` Dave Martin
2018-01-23 12:28 ` [PATCH 11/16] arm64: errata: Clean up midr range helpers Suzuki K Poulose
2018-01-23 12:28   ` Suzuki K Poulose
2018-01-26 13:50   ` Dave Martin
2018-01-26 13:50     ` Dave Martin
2018-01-23 12:28 ` [PATCH 12/16] arm64: Add helpers for checking CPU MIDR against a range Suzuki K Poulose
2018-01-23 12:28   ` Suzuki K Poulose
2018-01-26 14:08   ` Dave Martin
2018-01-26 14:08     ` Dave Martin
2018-01-23 12:28 ` [PATCH 13/16] arm64: Add support for checking errata based on a list of MIDRS Suzuki K Poulose
2018-01-23 12:28   ` Suzuki K Poulose
2018-01-26 14:16   ` Dave Martin
2018-01-26 14:16     ` Dave Martin
2018-01-26 15:57     ` Suzuki K Poulose
2018-01-26 15:57       ` Suzuki K Poulose
2018-01-30 15:16       ` Dave Martin
2018-01-30 15:16         ` Dave Martin
2018-01-30 15:38         ` Suzuki K Poulose
2018-01-30 15:38           ` Suzuki K Poulose
2018-01-30 15:58           ` Dave Martin
2018-01-30 15:58             ` Dave Martin
2018-01-23 12:28 ` [PATCH 14/16] arm64: Add MIDR encoding for Arm Cortex-A55 and Cortex-A35 Suzuki K Poulose
2018-01-23 12:28   ` Suzuki K Poulose
2018-01-23 12:28 ` [PATCH 15/16] arm64: Delay enabling hardware DBM feature Suzuki K Poulose
2018-01-23 12:28   ` Suzuki K Poulose
2018-01-26 14:41   ` Dave Martin
2018-01-26 14:41     ` Dave Martin
2018-01-26 16:05     ` Suzuki K Poulose
2018-01-26 16:05       ` Suzuki K Poulose
2018-01-30 15:22       ` Dave Martin
2018-01-30 15:22         ` Dave Martin
2018-01-23 12:28 ` [PATCH 16/16] arm64: Add work around for Arm Cortex-A55 Erratum 1024718 Suzuki K Poulose
2018-01-23 12:28   ` Suzuki K Poulose
2018-01-26 15:33   ` Dave Martin
2018-01-26 15:33     ` Dave Martin
2018-01-26 16:29     ` Suzuki K Poulose
2018-01-26 16:29       ` Suzuki K Poulose
2018-01-30 15:27       ` Dave Martin
2018-01-30 15:27         ` Dave Martin

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=20180129170627.GA5862@e103592.cambridge.arm.com \
    --to=dave.martin@arm.com \
    --cc=Suzuki.Poulose@arm.com \
    --cc=ard.biesheuvel@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=ckadabi@codeaurora.org \
    --cc=jnair@caviumnetworks.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marc.zyngier@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=will.deacon@arm.com \
    /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: link
Be 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.