1 /* Linux/s390 version of processor capability information handling macros.
2    Copyright (C) 2006-2022 Free Software Foundation, Inc.
3    This file is part of the GNU C Library.
4 
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9 
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14 
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library; if not, see
17    <https://www.gnu.org/licenses/>.  */
18 
19 #ifndef _DL_S390_PROCINFO_H
20 #define _DL_S390_PROCINFO_H	1
21 #include <sysdeps/s390/dl-procinfo.h>
22 #include <ldsodefs.h>
23 
24 
25 #undef _dl_procinfo
26 static inline int
27 __attribute__ ((unused))
_dl_procinfo(unsigned int type,unsigned long int word)28 _dl_procinfo (unsigned int type, unsigned long int word)
29 {
30   /* This table should match the information from arch/s390/kernel/setup.c
31      in the kernel sources.  */
32   int i;
33 
34   /* Fallback to generic output mechanism.  */
35   if (type != AT_HWCAP)
36     return -1;
37 
38   _dl_printf ("AT_HWCAP:   ");
39 
40   for (i = 0; i < _DL_HWCAP_COUNT; ++i)
41     if (word & (1UL << i))
42       _dl_printf (" %s", GLRO(dl_s390_cap_flags)[i]);
43 
44   _dl_printf ("\n");
45 
46   return 0;
47 }
48 #endif
49