This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

V5 [PATCH 0/2] Add <sys/platform/x86.h>


Add <sys/platform/x86.h> to provide an API to access x86 specific platform
features.  It makes raw and derived CPUID information available to
applications so that programmers can avoid complicated steps to retrieve
the same information with CPUID instructions.  2 macros are provided to
query x86 platform features:

1. HAS_CPU_FEATURE evaluates to true if CPU supports the feature. 
2. CPU_FEATURE_USABLE evaluates to true if the feature is usable.

They can be used in IFUNC resolvers, including in LD_PRELOAD shared
objects.


H.J. Lu (2):
  x86: Add <sys/platform/x86.h>
  x86: Add a LD_PRELOAD IFUNC resolver test for CPU_FEATURE_USABLE

 NEWS                                          |   3 +
 manual/platform.texi                          | 458 +++++++++++
 sysdeps/mach/hurd/i386/ld.abilist             |   2 +
 sysdeps/unix/sysv/linux/i386/ld.abilist       |   2 +
 sysdeps/unix/sysv/linux/x86_64/64/ld.abilist  |   2 +
 sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist |   2 +
 sysdeps/x86/Makefile                          |  23 +-
 sysdeps/x86/Versions                          |   3 +
 sysdeps/x86/cpu-features.c                    |  97 ++-
 sysdeps/x86/cpu-features.h                    | 234 ++----
 sysdeps/x86/dl-get-cpu-features.c             |  19 +
 sysdeps/x86/sys/platform/x86.h                | 755 ++++++++++++++++++
 sysdeps/x86/tst-get-cpu-features.c            |  29 +-
 sysdeps/x86/tst-x86-platform-1-static.c       |   1 +
 sysdeps/x86/tst-x86-platform-1.c              | 254 ++++++
 sysdeps/x86/tst-x86-platform-2.c              |  27 +
 sysdeps/x86/tst-x86-platform-3.c              |  27 +
 sysdeps/x86/tst-x86-platform-4.c              |  54 ++
 sysdeps/x86/tst-x86-platform-mod-2.c          |   2 +
 sysdeps/x86/tst-x86-platform-mod-3.c          |   2 +
 sysdeps/x86/tst-x86-platform-mod-4.c          |  37 +
 sysdeps/x86/tst-x86-platform-preload-4.c      |  62 ++
 sysdeps/x86_64/multiarch/sched_cpucount.c     |   2 +-
 sysdeps/x86_64/multiarch/test-multiarch.c     |   4 +-
 24 files changed, 1889 insertions(+), 212 deletions(-)
 create mode 100644 sysdeps/x86/sys/platform/x86.h
 create mode 100644 sysdeps/x86/tst-x86-platform-1-static.c
 create mode 100644 sysdeps/x86/tst-x86-platform-1.c
 create mode 100644 sysdeps/x86/tst-x86-platform-2.c
 create mode 100644 sysdeps/x86/tst-x86-platform-3.c
 create mode 100644 sysdeps/x86/tst-x86-platform-4.c
 create mode 100644 sysdeps/x86/tst-x86-platform-mod-2.c
 create mode 100644 sysdeps/x86/tst-x86-platform-mod-3.c
 create mode 100644 sysdeps/x86/tst-x86-platform-mod-4.c
 create mode 100644 sysdeps/x86/tst-x86-platform-preload-4.c

-- 
2.17.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]