]> git.ipfire.org Git - thirdparty/glibc.git/blame - sysdeps/unix/sysv/linux/arm/dl-procinfo.h
Test for stack alignment.
[thirdparty/glibc.git] / sysdeps / unix / sysv / linux / arm / dl-procinfo.h
CommitLineData
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
32static 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
49static 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
56enum
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
70static 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 */