[PATCH] ARM: vfp: fix save and restore when running on pre-VFPv3 and CONFIG_VFPv3 set

Mans Rullgard mans.rullgard at linaro.org
Sun Oct 14 22:39:07 EDT 2012


On 15 October 2012 02:58, Paul Walmsley <paul at pwsan.com> wrote:
>
> Fix by implementing a request from Russell King to add a new HWCAP
> flag that affirmatively indicates the presence of the d16-d31
> registers:

[...]

> diff --git a/arch/arm/include/uapi/asm/hwcap.h b/arch/arm/include/uapi/asm/hwcap.h
> index f254f65..b1555d0 100644
> --- a/arch/arm/include/uapi/asm/hwcap.h
> +++ b/arch/arm/include/uapi/asm/hwcap.h
> @@ -18,11 +18,12 @@
>  #define HWCAP_THUMBEE  (1 << 11)
>  #define HWCAP_NEON     (1 << 12)
>  #define HWCAP_VFPv3    (1 << 13)
> -#define HWCAP_VFPv3D16 (1 << 14)
> +#define HWCAP_VFPv3D16 (1 << 14)       /* also set for VFPv4-D16 */
>  #define HWCAP_TLS      (1 << 15)
>  #define HWCAP_VFPv4    (1 << 16)
>  #define HWCAP_IDIVA    (1 << 17)
>  #define HWCAP_IDIVT    (1 << 18)
> +#define HWCAP_VFPD16   (1 << 19)       /* set if VFP has 32 regs (not 16) */
>  #define HWCAP_IDIV     (HWCAP_IDIVA | HWCAP_IDIVT)

Please consider calling the new flag VFPD32 or so instead.  The D16 suffix
usually signifies an implementation with 16 registers, i.e. the opposite of
what this flag does.  Using the same tag to mean both things depending on
whether there's a 'v3' before it is nothing but confusing.

-- 
Mans Rullgard / mru



More information about the linux-arm-kernel mailing list