1e2be04c7SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 24262a727SDavid Howells /* 34262a727SDavid Howells * Copyright (C) 2012 ARM Ltd. 44262a727SDavid Howells * 54262a727SDavid Howells * This program is free software; you can redistribute it and/or modify 64262a727SDavid Howells * it under the terms of the GNU General Public License version 2 as 74262a727SDavid Howells * published by the Free Software Foundation. 84262a727SDavid Howells * 94262a727SDavid Howells * This program is distributed in the hope that it will be useful, 104262a727SDavid Howells * but WITHOUT ANY WARRANTY; without even the implied warranty of 114262a727SDavid Howells * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 124262a727SDavid Howells * GNU General Public License for more details. 134262a727SDavid Howells * 144262a727SDavid Howells * You should have received a copy of the GNU General Public License 154262a727SDavid Howells * along with this program. If not, see <http://www.gnu.org/licenses/>. 164262a727SDavid Howells */ 174262a727SDavid Howells #ifndef _UAPI__ASM_HWCAP_H 184262a727SDavid Howells #define _UAPI__ASM_HWCAP_H 194262a727SDavid Howells 204262a727SDavid Howells /* 21aaba098fSAndrew Murray * HWCAP flags - for AT_HWCAP 22d3e4a9d3SMark Brown * 23d3e4a9d3SMark Brown * Bits 62 and 63 are reserved for use by libc. 24d3e4a9d3SMark Brown * Bits 32-61 are unallocated for potential use by libc. 254262a727SDavid Howells */ 264262a727SDavid Howells #define HWCAP_FP (1 << 0) 274262a727SDavid Howells #define HWCAP_ASIMD (1 << 1) 2846efe547SSudeep KarkadaNagesha #define HWCAP_EVTSTRM (1 << 2) 294bff28ccSSteve Capper #define HWCAP_AES (1 << 3) 304bff28ccSSteve Capper #define HWCAP_PMULL (1 << 4) 314bff28ccSSteve Capper #define HWCAP_SHA1 (1 << 5) 324bff28ccSSteve Capper #define HWCAP_SHA2 (1 << 6) 334bff28ccSSteve Capper #define HWCAP_CRC32 (1 << 7) 3440a1db24SWill Deacon #define HWCAP_ATOMICS (1 << 8) 35bf500618SSuzuki K Poulose #define HWCAP_FPHP (1 << 9) 36bf500618SSuzuki K Poulose #define HWCAP_ASIMDHP (1 << 10) 3777c97b4eSSuzuki K Poulose #define HWCAP_CPUID (1 << 11) 38f92f5ce0SSuzuki K Poulose #define HWCAP_ASIMDRDM (1 << 12) 39c8c3798dSSuzuki K Poulose #define HWCAP_JSCVT (1 << 13) 40cb567e79SSuzuki K Poulose #define HWCAP_FCMA (1 << 14) 41c651aae5SSuzuki K Poulose #define HWCAP_LRCPC (1 << 15) 427aac405eSRobin Murphy #define HWCAP_DCPOP (1 << 16) 43f5e035f8SSuzuki K Poulose #define HWCAP_SHA3 (1 << 17) 44f5e035f8SSuzuki K Poulose #define HWCAP_SM3 (1 << 18) 45f5e035f8SSuzuki K Poulose #define HWCAP_SM4 (1 << 19) 46f5e035f8SSuzuki K Poulose #define HWCAP_ASIMDDP (1 << 20) 47f5e035f8SSuzuki K Poulose #define HWCAP_SHA512 (1 << 21) 4843994d82SDave Martin #define HWCAP_SVE (1 << 22) 493b3b6810SDongjiu Geng #define HWCAP_ASIMDFHM (1 << 23) 507206dc93SSuzuki K Poulose #define HWCAP_DIT (1 << 24) 517206dc93SSuzuki K Poulose #define HWCAP_USCAT (1 << 25) 527206dc93SSuzuki K Poulose #define HWCAP_ILRCPC (1 << 26) 537206dc93SSuzuki K Poulose #define HWCAP_FLAGM (1 << 27) 54d71be2b6SWill Deacon #define HWCAP_SSBS (1 << 28) 55bd4fb6d2SWill Deacon #define HWCAP_SB (1 << 29) 5675031975SMark Rutland #define HWCAP_PACA (1 << 30) 5775031975SMark Rutland #define HWCAP_PACG (1UL << 31) 584262a727SDavid Howells 59671db581SAndrew Murray /* 60671db581SAndrew Murray * HWCAP2 flags - for AT_HWCAP2 61671db581SAndrew Murray */ 62671db581SAndrew Murray #define HWCAP2_DCPODP (1 << 0) 6306a916feSDave Martin #define HWCAP2_SVE2 (1 << 1) 6406a916feSDave Martin #define HWCAP2_SVEAES (1 << 2) 6506a916feSDave Martin #define HWCAP2_SVEPMULL (1 << 3) 6606a916feSDave Martin #define HWCAP2_SVEBITPERM (1 << 4) 6706a916feSDave Martin #define HWCAP2_SVESHA3 (1 << 5) 6806a916feSDave Martin #define HWCAP2_SVESM4 (1 << 6) 6912019374SMark Brown #define HWCAP2_FLAGM2 (1 << 7) 70ca9503fcSMark Brown #define HWCAP2_FRINT (1 << 8) 71d4209d8bSSteven Price #define HWCAP2_SVEI8MM (1 << 9) 72d4209d8bSSteven Price #define HWCAP2_SVEF32MM (1 << 10) 73d4209d8bSSteven Price #define HWCAP2_SVEF64MM (1 << 11) 74d4209d8bSSteven Price #define HWCAP2_SVEBF16 (1 << 12) 75d4209d8bSSteven Price #define HWCAP2_I8MM (1 << 13) 76d4209d8bSSteven Price #define HWCAP2_BF16 (1 << 14) 77d4209d8bSSteven Price #define HWCAP2_DGH (1 << 15) 78bc206065SWill Deacon #define HWCAP2_RNG (1 << 16) 798ef8f360SDave Martin #define HWCAP2_BTI (1 << 17) 803b714d24SVincenzo Frascino #define HWCAP2_MTE (1 << 18) 81fee29f00SMarc Zyngier #define HWCAP2_ECV (1 << 19) 825c13f042SJoey Gouly #define HWCAP2_AFP (1 << 20) 831175011aSJoey Gouly #define HWCAP2_RPRES (1 << 21) 84d082a025SMark Brown #define HWCAP2_MTE3 (1 << 22) 855e64b862SMark Brown #define HWCAP2_SME (1 << 23) 865e64b862SMark Brown #define HWCAP2_SME_I16I64 (1 << 24) 875e64b862SMark Brown #define HWCAP2_SME_F64F64 (1 << 25) 885e64b862SMark Brown #define HWCAP2_SME_I8I32 (1 << 26) 895e64b862SMark Brown #define HWCAP2_SME_F16F32 (1 << 27) 905e64b862SMark Brown #define HWCAP2_SME_B16F32 (1 << 28) 915e64b862SMark Brown #define HWCAP2_SME_F32F32 (1 << 29) 925e64b862SMark Brown #define HWCAP2_SME_FA64 (1 << 30) 93b2c4caf3SMarc Zyngier #define HWCAP2_WFXT (1UL << 31) 94*a6a468f5SMark Brown #define HWCAP2_EBF16 (1UL << 32) 95671db581SAndrew Murray 964262a727SDavid Howells #endif /* _UAPI__ASM_HWCAP_H */ 97