162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
262306a36Sopenharmony_ci#ifndef _UAPI__ASMARM_HWCAP_H
362306a36Sopenharmony_ci#define _UAPI__ASMARM_HWCAP_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci/*
662306a36Sopenharmony_ci * HWCAP flags - for elf_hwcap (in kernel) and AT_HWCAP
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci#define HWCAP_SWP	(1 << 0)
962306a36Sopenharmony_ci#define HWCAP_HALF	(1 << 1)
1062306a36Sopenharmony_ci#define HWCAP_THUMB	(1 << 2)
1162306a36Sopenharmony_ci#define HWCAP_26BIT	(1 << 3)	/* Play it safe */
1262306a36Sopenharmony_ci#define HWCAP_FAST_MULT	(1 << 4)
1362306a36Sopenharmony_ci#define HWCAP_FPA	(1 << 5)
1462306a36Sopenharmony_ci#define HWCAP_VFP	(1 << 6)
1562306a36Sopenharmony_ci#define HWCAP_EDSP	(1 << 7)
1662306a36Sopenharmony_ci#define HWCAP_JAVA	(1 << 8)
1762306a36Sopenharmony_ci#define HWCAP_IWMMXT	(1 << 9)
1862306a36Sopenharmony_ci#define HWCAP_CRUNCH	(1 << 10)	/* Obsolete */
1962306a36Sopenharmony_ci#define HWCAP_THUMBEE	(1 << 11)
2062306a36Sopenharmony_ci#define HWCAP_NEON	(1 << 12)
2162306a36Sopenharmony_ci#define HWCAP_VFPv3	(1 << 13)
2262306a36Sopenharmony_ci#define HWCAP_VFPv3D16	(1 << 14)	/* also set for VFPv4-D16 */
2362306a36Sopenharmony_ci#define HWCAP_TLS	(1 << 15)
2462306a36Sopenharmony_ci#define HWCAP_VFPv4	(1 << 16)
2562306a36Sopenharmony_ci#define HWCAP_IDIVA	(1 << 17)
2662306a36Sopenharmony_ci#define HWCAP_IDIVT	(1 << 18)
2762306a36Sopenharmony_ci#define HWCAP_VFPD32	(1 << 19)	/* set if VFP has 32 regs (not 16) */
2862306a36Sopenharmony_ci#define HWCAP_IDIV	(HWCAP_IDIVA | HWCAP_IDIVT)
2962306a36Sopenharmony_ci#define HWCAP_LPAE	(1 << 20)
3062306a36Sopenharmony_ci#define HWCAP_EVTSTRM	(1 << 21)
3162306a36Sopenharmony_ci#define HWCAP_FPHP	(1 << 22)
3262306a36Sopenharmony_ci#define HWCAP_ASIMDHP	(1 << 23)
3362306a36Sopenharmony_ci#define HWCAP_ASIMDDP	(1 << 24)
3462306a36Sopenharmony_ci#define HWCAP_ASIMDFHM	(1 << 25)
3562306a36Sopenharmony_ci#define HWCAP_ASIMDBF16	(1 << 26)
3662306a36Sopenharmony_ci#define HWCAP_I8MM	(1 << 27)
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci/*
3962306a36Sopenharmony_ci * HWCAP2 flags - for elf_hwcap2 (in kernel) and AT_HWCAP2
4062306a36Sopenharmony_ci */
4162306a36Sopenharmony_ci#define HWCAP2_AES	(1 << 0)
4262306a36Sopenharmony_ci#define HWCAP2_PMULL	(1 << 1)
4362306a36Sopenharmony_ci#define HWCAP2_SHA1	(1 << 2)
4462306a36Sopenharmony_ci#define HWCAP2_SHA2	(1 << 3)
4562306a36Sopenharmony_ci#define HWCAP2_CRC32	(1 << 4)
4662306a36Sopenharmony_ci#define HWCAP2_SB	(1 << 5)
4762306a36Sopenharmony_ci#define HWCAP2_SSBS	(1 << 6)
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci#endif /* _UAPI__ASMARM_HWCAP_H */
50