]> git.ipfire.org Git - thirdparty/glibc.git/blame - sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
Prefer https to http for gnu.org and fsf.org URLs
[thirdparty/glibc.git] / sysdeps / unix / sysv / linux / aarch64 / dl-procinfo.c
CommitLineData
d2e4346a
SE
1/* Data for AArch64 version of processor capability information.
2 Linux version.
04277e02 3 Copyright (C) 2017-2019 Free Software Foundation, Inc.
d2e4346a
SE
4 This file is part of the GNU C Library.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
5a82c748 18 <https://www.gnu.org/licenses/>. */
d2e4346a
SE
19
20/* If anything should be added here check whether the size of each string
21 is still ok with the given array size.
22
23 All the #ifdefs in the definitions are quite irritating but
24 necessary if we want to avoid duplicating the information. There
25 are three different modes:
26
27 - PROCINFO_DECL is defined. This means we are only interested in
28 declarations.
29
30 - PROCINFO_DECL is not defined:
31
32 + if SHARED is defined the file is included in an array
33 initializer. The .element = { ... } syntax is needed.
34
35 + if SHARED is not defined a normal array initialization is
36 needed.
37 */
38
39#ifndef PROCINFO_CLASS
40# define PROCINFO_CLASS
41#endif
42
43#if !IS_IN (ldconfig)
44# if !defined PROCINFO_DECL && defined SHARED
45 ._dl_aarch64_cpu_features
46# else
47PROCINFO_CLASS struct cpu_features _dl_aarch64_cpu_features
48# endif
49# ifndef PROCINFO_DECL
50= { }
51# endif
52# if !defined SHARED || defined PROCINFO_DECL
53;
54# else
55,
56# endif
57#endif
58
afce1991 59/* Number of HWCAP bits set. */
a2e57f89 60#define _DL_HWCAP_COUNT 32
afce1991 61
ea01a4da
SP
62#if !defined PROCINFO_DECL && defined SHARED
63 ._dl_aarch64_cap_flags
64#else
afce1991 65PROCINFO_CLASS const char _dl_aarch64_cap_flags[_DL_HWCAP_COUNT][10]
ea01a4da
SP
66#endif
67#ifndef PROCINFO_DECL
82e06600 68/* Matches the names in arch/arm64/kernel/cpuinfo.c of Linux. */
ea01a4da 69= { "fp", "asimd", "evtstrm", "aes", "pmull", "sha1", "sha2", "crc32",
82e06600 70 "atomics", "fphp", "asimdhp", "cpuid", "asimdrdm", "jscvt", "fcma",
458b94f6 71 "lrcpc", "dcpop", "sha3", "sm3", "sm4", "asimddp", "sha512", "sve",
a2e57f89
JM
72 "asimdfhm", "dit", "uscat", "ilrcpc", "flagm", "ssbs", "sb", "paca",
73 "pacg" }
ea01a4da
SP
74#endif
75#if !defined SHARED || defined PROCINFO_DECL
76;
77#else
78,
79#endif
80
d2e4346a
SE
81#undef PROCINFO_DECL
82#undef PROCINFO_CLASS