diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386')
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/dl-procinfo.h | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/dl-procinfo.h b/sysdeps/unix/sysv/linux/i386/dl-procinfo.h index 48d5cd31fa..85baf74496 100644 --- a/sysdeps/unix/sysv/linux/i386/dl-procinfo.h +++ b/sysdeps/unix/sysv/linux/i386/dl-procinfo.h @@ -21,19 +21,20 @@ #ifndef _DL_PROCINFO_H #define _DL_PROCINFO_H 1 +static const char *x86_cap_flags[] = + { + "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", + "cx8", "apic", "10", "sep", "mtrr", "pge", "mca", "cmov", + "fcmov", "17", "18", "19", "20", "21", "22", "mmx", + "osfxsr", "25", "26", "27", "28", "29", "30", "amd3d" + }; + static inline int __attribute__ ((unused)) _dl_procinfo (int word) { /* This table should match the information from arch/i386/kernel/setup.c in the kernel sources. */ - static const char *x86_cap_flags[] = - { - "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", - "cx8", "apic", "10", "sep", "mtrr", "pge", "mca", "cmov", - "fcmov", "17", "18", "19", "20", "21", "22", "mmx", - "cxmmx", "25", "26", "27", "28", "29", "30", "amd3d" - }; int i; _dl_sysdep_message ("AT_HWCAP: ", NULL); @@ -47,6 +48,13 @@ _dl_procinfo (int word) return 0; } +static inline const char * +__attribute__ ((unused)) +_dl_hwcap_string (int idx) +{ + return x86_cap_flags[idx]; +}; + enum { HWCAP_I386_FPU = 1 << 0, @@ -66,8 +74,11 @@ enum HWCAP_I386_CMOV = 1 << 15, HWCAP_I386_FCMOV = 1 << 16, HWCAP_I386_MMX = 1 << 23, - HWCAP_I386_CXMMX = 1 << 24, - HWCAP_I386_AMD3D = 1 << 31 + HWCAP_I386_OSFXSR = 1 << 24, + HWCAP_I386_AMD3D = 1 << 31, + + /* XXX Which others to add here? */ + HWCAP_IMPORTANT = (HWCAP_I386_MMX) }; #endif /* dl-procinfo.h */ |