All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Suzuki K. Poulose" <suzuki.poulose@arm.com>
To: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org, catalin.marinas@arm.com,
	will.deacon@arm.com, mark.rutland@arm.com,
	chirstoffer.dall@linaro.org, steve.capper@linaro.org,
	Vladimir.Murzin@arm.com, james.morse@arm.com,
	andre.przywara@arm.com, ryan.arnold@linaro.org, aph@redhat.com,
	edward.nevill@linaro.org, dave.martin@arm.com,
	ard.biesheuvel@linaro.org, marc.zyngier@arm.com,
	"Suzuki K. Poulose" <suzuki.poulose@arm.com>
Subject: [PATCHv4 07/24] arm64: Handle width of a cpuid feature
Date: Mon, 19 Oct 2015 14:00:30 +0100	[thread overview]
Message-ID: <1445259647-21541-8-git-send-email-suzuki.poulose@arm.com> (raw)
In-Reply-To: <1445259647-21541-1-git-send-email-suzuki.poulose@arm.com>

Introduce a helper to extract cpuid feature for any given
width.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Suzuki K. Poulose <suzuki.poulose@arm.com>
---
 arch/arm64/include/asm/cpufeature.h |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/include/asm/cpufeature.h b/arch/arm64/include/asm/cpufeature.h
index b5f313d..85507fe 100644
--- a/arch/arm64/include/asm/cpufeature.h
+++ b/arch/arm64/include/asm/cpufeature.h
@@ -76,10 +76,16 @@ static inline void cpus_set_cap(unsigned int num)
 		__set_bit(num, cpu_hwcaps);
 }
 
-static inline int __attribute_const__ cpuid_feature_extract_field(u64 features,
-								  int field)
+static inline int __attribute_const__
+cpuid_feature_extract_field_width(u64 features, int field, int width)
 {
-	return (s64)(features << (64 - 4 - field)) >> (64 - 4);
+	return (s64)(features << (64 - width - field)) >> (64 - width);
+}
+
+static inline int __attribute_const__
+cpuid_feature_extract_field(u64 features, int field)
+{
+	return cpuid_feature_extract_field_width(features, field, 4);
 }
 
 static inline bool id_aa64mmfr0_mixed_endian_el0(u64 mmfr0)
-- 
1.7.9.5


WARNING: multiple messages have this Message-ID (diff)
From: suzuki.poulose@arm.com (Suzuki K. Poulose)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv4 07/24] arm64: Handle width of a cpuid feature
Date: Mon, 19 Oct 2015 14:00:30 +0100	[thread overview]
Message-ID: <1445259647-21541-8-git-send-email-suzuki.poulose@arm.com> (raw)
In-Reply-To: <1445259647-21541-1-git-send-email-suzuki.poulose@arm.com>

Introduce a helper to extract cpuid feature for any given
width.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Suzuki K. Poulose <suzuki.poulose@arm.com>
---
 arch/arm64/include/asm/cpufeature.h |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/include/asm/cpufeature.h b/arch/arm64/include/asm/cpufeature.h
index b5f313d..85507fe 100644
--- a/arch/arm64/include/asm/cpufeature.h
+++ b/arch/arm64/include/asm/cpufeature.h
@@ -76,10 +76,16 @@ static inline void cpus_set_cap(unsigned int num)
 		__set_bit(num, cpu_hwcaps);
 }
 
-static inline int __attribute_const__ cpuid_feature_extract_field(u64 features,
-								  int field)
+static inline int __attribute_const__
+cpuid_feature_extract_field_width(u64 features, int field, int width)
 {
-	return (s64)(features << (64 - 4 - field)) >> (64 - 4);
+	return (s64)(features << (64 - width - field)) >> (64 - width);
+}
+
+static inline int __attribute_const__
+cpuid_feature_extract_field(u64 features, int field)
+{
+	return cpuid_feature_extract_field_width(features, field, 4);
 }
 
 static inline bool id_aa64mmfr0_mixed_endian_el0(u64 mmfr0)
-- 
1.7.9.5

  parent reply	other threads:[~2015-10-19 13:04 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-19 13:00 [PATCHv4 00/24] arm64: Consolidate CPU feature handling Suzuki K. Poulose
2015-10-19 13:00 ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 01/24] arm64: Make the CPU information more clear Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 02/24] arm64: Delay ELF HWCAP initialisation until all CPUs are up Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 03/24] arm64: Delay cpuinfo_store_boot_cpu Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 04/24] arm64: Move cpu feature detection code Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 05/24] arm64: Move mixed endian support detection Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 06/24] arm64: Move /proc/cpuinfo handling code Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` Suzuki K. Poulose [this message]
2015-10-19 13:00   ` [PATCHv4 07/24] arm64: Handle width of a cpuid feature Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 08/24] arm64: Keep track of CPU feature registers Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 09/24] arm64: Consolidate CPU Sanity check to CPU Feature infrastructure Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 10/24] arm64: Read system wide CPUID value Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 11/24] arm64: Cleanup mixed endian support detection Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 12/24] arm64: Refactor check_cpu_capabilities Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 13/24] arm64: Delay cpu feature capability checks Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 14/24] arm64/capabilities: Make use of system wide safe value Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 15/24] arm64/HWCAP: Use system wide safe values Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 16/24] arm64: Move FP/ASIMD hwcap handling to common code Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 17/24] arm64/debug: Make use of the system wide safe value Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 18/24] arm64/kvm: Make use of the system wide safe values Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 19/24] arm64: Documentation - Expose CPU feature registers Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 20/24] arm64: Define helper for sys_reg id manipulation Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 21/24] arm64: Add helper to decode register from instruction Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 22/24] arm64: cpufeature: Track the user visible fields Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 23/24] arm64: Expose feature registers by emulating MRS Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:00 ` [PATCHv4 24/24] arm64: cpuinfo: Expose MIDR_EL1 and REVIDR_EL1 to sysfs Suzuki K. Poulose
2015-10-19 13:00   ` Suzuki K. Poulose
2015-10-19 13:09 ` [PATCHv4 00/24] arm64: Consolidate CPU feature handling Suzuki K. Poulose
2015-10-19 13:09   ` Suzuki K. Poulose
2015-10-19 13:24 [UPDATED] " Suzuki K. Poulose
2015-10-19 13:24 ` [PATCHv4 07/24] arm64: Handle width of a cpuid feature Suzuki K. Poulose
2015-10-19 13:24   ` Suzuki K. Poulose

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=1445259647-21541-8-git-send-email-suzuki.poulose@arm.com \
    --to=suzuki.poulose@arm.com \
    --cc=Vladimir.Murzin@arm.com \
    --cc=andre.przywara@arm.com \
    --cc=aph@redhat.com \
    --cc=ard.biesheuvel@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=chirstoffer.dall@linaro.org \
    --cc=dave.martin@arm.com \
    --cc=edward.nevill@linaro.org \
    --cc=james.morse@arm.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=ryan.arnold@linaro.org \
    --cc=steve.capper@linaro.org \
    --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.