]> git.ipfire.org Git - thirdparty/glibc.git/blob - sysdeps/sparc/dl-procinfo.h
282b8c5117d2a0ef752fdf58c9c7f32bc1ce342c
[thirdparty/glibc.git] / sysdeps / sparc / dl-procinfo.h
1 /* Linux/sparc version of processor capability information handling macros.
2 Copyright (C) 1999-2019 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4 Contributed by Jakub Jelinek <jj@ultra.linux.cz>, 1999.
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
18 <http://www.gnu.org/licenses/>. */
19
20 #ifndef _DL_PROCINFO_H
21 #define _DL_PROCINFO_H 1
22
23 #include <ldsodefs.h>
24 #include <sysdep.h>
25
26 #define _DL_HWCAP_COUNT 28
27
28 static inline int
29 __attribute__ ((unused))
30 _dl_procinfo (unsigned int type, unsigned long int word)
31 {
32 int i;
33
34 /* Fallback to unknown output mechanism. */
35 if (type == AT_HWCAP2)
36 return -1;
37
38 _dl_printf ("AT_HWCAP: ");
39
40 for (i = 0; i < _DL_HWCAP_COUNT; ++i)
41 if (word & (1 << i))
42 _dl_printf (" %s", GLRO(dl_sparc_cap_flags)[i]);
43
44 _dl_printf ("\n");
45
46 return 0;
47 }
48
49 static inline const char *
50 __attribute__ ((unused))
51 _dl_hwcap_string (int idx)
52 {
53 return GLRO(dl_sparc_cap_flags)[idx];
54 };
55
56 static inline int
57 __attribute__ ((unused, always_inline))
58 _dl_string_hwcap (const char *str)
59 {
60 int i;
61 for (i = 0; i < _DL_HWCAP_COUNT; i++)
62 {
63 if (strcmp (str, GLRO(dl_sparc_cap_flags) [i]) == 0)
64 return i;
65 }
66 return -1;
67 };
68
69 #include <bits/wordsize.h>
70 #define HWCAP_IMPORTANT_V9 (__WORDSIZE == 64 ? 0 : HWCAP_SPARC_V9)
71 #define HWCAP_IMPORTANT (HWCAP_IMPORTANT_V9 | HWCAP_SPARC_ULTRA3 \
72 | HWCAP_SPARC_BLKINIT | HWCAP_SPARC_N2)
73
74 /* There're no platforms to filter out. */
75 #define _DL_HWCAP_PLATFORM 0
76
77 #define _dl_string_platform(str) (-1)
78
79 #endif /* dl-procinfo.h */