Re: [PATCH V2] arm64/cpuinfo: Move HWCAP name arrays alongside their bit definitions

From: Anshuman Khandual
Date: Tue May 19 2020 - 20:28:32 EST




On 05/19/2020 04:05 AM, Will Deacon wrote:
> On Fri, May 15, 2020 at 08:58:05AM +0530, Anshuman Khandual wrote:
>> On 05/14/2020 01:06 PM, Will Deacon wrote:
>>> Why is it a change? We've never reported e.g. "java" on an arm64 kernel, so
>>
>> We already have "java" defined in existing compat_hwcap_str[] array even
>> though it might never get set in compat_elf_hwcap. AFAICS, compat_elf_hwcap
>> will have the following capabilities set (at the most).
>>
>> Via COMPAT_ELF_HWCAP_DEFAULT
>>
>> 01. COMPAT_HWCAP_HALF
>> 02. COMPAT_HWCAP_THUMB
>> 03. COMPAT_HWCAP_FAST_MULT
>> 04. COMPAT_HWCAP_EDSP
>> 05. COMPAT_HWCAP_TLS
>> 06. COMPAT_HWCAP_IDIV
>> 07. COMPAT_HWCAP_LPAE
>>
>> Via setup_elf_hwcaps(compat_elf_hwcaps) <-- setup_cpu_features()
>>
>> 8. COMPAT_HWCAP_NEON
>> 9. COMPAT_HWCAP_VFPv4
>> 10. COMPAT_HWCAP_VFP
>> 11. COMPAT_HWCAP_VFPv3
>>
>> Via arch_timer_set_evtstrm_feature()
>>
>> 12. COMPAT_HWCAP_EVTSTRM
>>
>> The code exists for "java" string to be displayed with /proc/cpuinfo but it
>> may never get triggered as compat_elf_hwcap will never have JAVA capability
>> unless there is a bug as you had rightly mentioned.
>
> Fair enough, but applying this patch causes a *tonne* of warnings from
> aiaiai:
>
> +In file included from arch/arm64/include/asm/cpufeature.h:11,
> + from arch/arm64/include/asm/ptrace.h:11,
> + from arch/arm64/include/asm/irqflags.h:10,
> + from include/linux/irqflags.h:16,
> + from include/linux/spinlock.h:54,
> + from include/linux/seqlock.h:36,
> + from include/linux/time.h:6,
> + from arch/arm64/include/asm/stat.h:12,
> + from include/linux/stat.h:6,
> + from include/linux/module.h:13,
> + from drivers/media/rc/keymaps/rc-imon-mce.mod.c:1:
> +arch/arm64/include/asm/hwcap.h:189:26: warning: âcompat_hwcap2_strâ defined but not used [-Wunused-const-variable=]
> + 189 | static const char *const compat_hwcap2_str[] = {
> + | ^~~~~~~~~~~~~~~~~

Native default build (defconfig) on arm64 does not throw this warning.
I guess this came up with 'make W=n' or something. Anyways if this is
indeed an issue, we will have to add in helpers for each HWCAP arrays
which will fetch a feature string on index value to be used in c_show
(arch/arm64/kernel/cpuinfo.c). I wanted to avoid this to reduce code.

>
> so I'm dropping this for now.

Sure, will respin this later probably after 5.8-rc1.