svn commit: r365996 - stable/12/sys/arm64/include

Mitchell Horne mhorne at FreeBSD.org
Tue Sep 22 14:15:07 UTC 2020


Author: mhorne
Date: Tue Sep 22 14:15:06 2020
New Revision: 365996
URL: https://svnweb.freebsd.org/changeset/base/365996

Log:
  MFC r365304, r365459
  
  r365304:
  arm64: update the set of HWCAP definitions
  
  r365459:
  arm64: fix incorrect HWCAP definitions
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  stable/12/sys/arm64/include/elf.h
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/arm64/include/elf.h
==============================================================================
--- stable/12/sys/arm64/include/elf.h	Tue Sep 22 13:00:02 2020	(r365995)
+++ stable/12/sys/arm64/include/elf.h	Tue Sep 22 14:15:06 2020	(r365996)
@@ -115,33 +115,62 @@ __ElfType(Auxinfo);
 #define	ET_DYN_LOAD_ADDR 0x100000
 
 /* HWCAP */
+#define	HWCAP_FP		0x00000001
+#define	HWCAP_ASIMD		0x00000002
+#define	HWCAP_EVTSTRM		0x00000004
+#define	HWCAP_AES		0x00000008
+#define	HWCAP_PMULL		0x00000010
+#define	HWCAP_SHA1		0x00000020
+#define	HWCAP_SHA2		0x00000040
+#define	HWCAP_CRC32		0x00000080
+#define	HWCAP_ATOMICS		0x00000100
+#define	HWCAP_FPHP		0x00000200
+#define	HWCAP_ASIMDHP		0x00000400
+/*
+ * XXX: The following bits (from CPUID to FLAGM) were originally incorrect,
+ * but later changed to match the Linux definitions. No compatibility code is
+ * provided, as the fix was expected to result in near-zero fallout.
+ */
+#define	HWCAP_CPUID		0x00000800
+#define	HWCAP_ASIMDRDM		0x00001000
+#define	HWCAP_JSCVT		0x00002000
+#define	HWCAP_FCMA		0x00004000
+#define	HWCAP_LRCPC		0x00008000
+#define	HWCAP_DCPOP		0x00010000
+#define	HWCAP_SHA3		0x00020000
+#define	HWCAP_SM3		0x00040000
+#define	HWCAP_SM4		0x00080000
+#define	HWCAP_ASIMDDP		0x00100000
+#define	HWCAP_SHA512		0x00200000
+#define	HWCAP_SVE		0x00400000
+#define	HWCAP_ASIMDFHM		0x00800000
+#define	HWCAP_DIT		0x01000000
+#define	HWCAP_USCAT		0x02000000
+#define	HWCAP_ILRCPC		0x04000000
+#define	HWCAP_FLAGM		0x08000000
+#define	HWCAP_SSBS		0x10000000
+#define	HWCAP_SB		0x20000000
+#define	HWCAP_PACA		0x40000000
+#define	HWCAP_PACG		0x80000000
 
-#define	HWCAP_FP	0x00000001
-#define	HWCAP_ASIMD	0x00000002
-#define	HWCAP_EVTSTRM	0x00000004
-#define	HWCAP_AES	0x00000008
-#define	HWCAP_PMULL	0x00000010
-#define	HWCAP_SHA1	0x00000020
-#define	HWCAP_SHA2	0x00000040
-#define	HWCAP_CRC32	0x00000080
-#define	HWCAP_ATOMICS	0x00000100
-#define	HWCAP_FPHP	0x00000200
-#define	HWCAP_CPUID	0x00000400
-#define	HWCAP_ASIMDRDM	0x00000800
-#define	HWCAP_JSCVT	0x00001000
-#define	HWCAP_FCMA	0x00002000
-#define	HWCAP_LRCPC	0x00004000
-#define	HWCAP_DCPOP	0x00008000
-#define	HWCAP_SHA3	0x00010000
-#define	HWCAP_SM3	0x00020000
-#define	HWCAP_SM4	0x00040000
-#define	HWCAP_ASIMDDP	0x00080000
-#define	HWCAP_SHA512	0x00100000
-#define	HWCAP_SVE	0x00200000
-#define	HWCAP_ASIMDFHM	0x00400000
-#define	HWCAP_DIT	0x00800000
-#define	HWCAP_USCAT	0x01000000
-#define	HWCAP_ILRCPC	0x02000000
-#define	HWCAP_FLAGM	0x04000000
+/* HWCAP2 */
+#define	HWCAP2_DCPODP		0x00000001
+#define	HWCAP2_SVE2		0x00000002
+#define	HWCAP2_SVEAES		0x00000004
+#define	HWCAP2_SVEPMULL		0x00000008
+#define	HWCAP2_SVEBITPERM	0x00000010
+#define	HWCAP2_SVESHA3		0x00000020
+#define	HWCAP2_SVESM4		0x00000040
+#define	HWCAP2_FLAGM2		0x00000080
+#define	HWCAP2_FRINT		0x00000100
+#define	HWCAP2_SVEI8MM		0x00000200
+#define	HWCAP2_SVEF32MM		0x00000400
+#define	HWCAP2_SVEF64MM		0x00000800
+#define	HWCAP2_SVEBF16		0x00001000
+#define	HWCAP2_I8MM		0x00002000
+#define	HWCAP2_BF16		0x00004000
+#define	HWCAP2_DGH		0x00008000
+#define	HWCAP2_RNG		0x00010000
+#define	HWCAP2_BTI		0x00020000
 
 #endif /* !_MACHINE_ELF_H_ */


More information about the svn-src-all mailing list