]>
Commit | Line | Data |
---|---|---|
f4f8cd2c | 1 | /* Linux/ARM version of processor capability information handling macros. |
c31e278f | 2 | Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. |
f4f8cd2c UD |
3 | This file is part of the GNU C Library. |
4 | Contributed by Philip Blundell <philb@gnu.org>, 2001. | |
5 | ||
6 | The GNU C Library is free software; you can redistribute it and/or | |
41bdb6e2 AJ |
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. | |
f4f8cd2c UD |
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 | |
41bdb6e2 | 14 | Lesser General Public License for more details. |
f4f8cd2c | 15 | |
41bdb6e2 AJ |
16 | You should have received a copy of the GNU Lesser General Public |
17 | License along with the GNU C Library; if not, write to the Free | |
18 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | |
19 | 02111-1307 USA. */ | |
f4f8cd2c UD |
20 | |
21 | #ifndef _DL_PROCINFO_H | |
22 | #define _DL_PROCINFO_H 1 | |
23 | ||
24 | #include <ldsodefs.h> | |
25 | ||
b028b8ad | 26 | #define _DL_HWCAP_COUNT 8 |
f4f8cd2c UD |
27 | |
28 | /* The kernel provides platform data but it is not interesting. */ | |
29 | #define _DL_HWCAP_PLATFORM 0 | |
30 | ||
31 | ||
32 | static inline int | |
33 | __attribute__ ((unused)) | |
34 | _dl_procinfo (int word) | |
35 | { | |
36 | int i; | |
37 | ||
38 | _dl_printf ("AT_HWCAP: "); | |
39 | ||
40 | for (i = 0; i < _DL_HWCAP_COUNT; ++i) | |
41 | if (word & (1 << i)) | |
c31e278f | 42 | _dl_printf (" %s", GLRO(dl_arm_cap_flags)[i]); |
f4f8cd2c UD |
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 | { | |
c31e278f | 53 | return GLRO(dl_arm_cap_flags)[idx]; |
f4f8cd2c UD |
54 | }; |
55 | ||
56 | enum | |
57 | { | |
58 | HWCAP_ARM_SWP = 1 << 0, | |
59 | HWCAP_ARM_HALF = 1 << 1, | |
60 | HWCAP_ARM_THUMB = 1 << 2, | |
61 | HWCAP_ARM_26BIT = 1 << 3, | |
62 | HWCAP_ARM_FAST_MULT = 1 << 4, | |
63 | HWCAP_ARM_FPA = 1 << 5, | |
64 | HWCAP_ARM_VFP = 1 << 6, | |
65 | HWCAP_ARM_EDSP = 1 << 7, | |
66 | ||
67 | HWCAP_IMPORTANT = (HWCAP_ARM_HALF | HWCAP_ARM_FAST_MULT) | |
68 | }; | |
69 | ||
70 | static inline int | |
71 | __attribute__ ((unused)) | |
72 | _dl_string_hwcap (const char *str) | |
73 | { | |
74 | int i; | |
75 | ||
76 | for (i = 0; i < _DL_HWCAP_COUNT; i++) | |
77 | { | |
c31e278f | 78 | if (strcmp (str, GLRO(dl_arm_cap_flags)[i]) == 0) |
f4f8cd2c UD |
79 | return i; |
80 | } | |
81 | return -1; | |
82 | }; | |
83 | ||
84 | #define _dl_string_platform(str) (-1) | |
85 | ||
86 | #endif /* dl-procinfo.h */ |