tunables, aarch64: New tunable to override cpu
commit28cfa3a48e59f9c6b9bc25a003a4ede435841382
authorSiddhesh Poyarekar <siddhesh@sourceware.org>
Fri, 30 Jun 2017 17:28:39 +0000 (30 22:58 +0530)
committerSiddhesh Poyarekar <siddhesh@sourceware.org>
Fri, 30 Jun 2017 17:28:39 +0000 (30 22:58 +0530)
treeec2c7a24f4fd2a0d8b4e2ead2dabc36b6b3c3cf9
parentab85da15301c552e3ea4577a6432aa028bee9295
tunables, aarch64: New tunable to override cpu

Add a new tunable (glibc.tune.cpu) to override CPU identification on
aarch64.  This is useful in two cases: one where it is desirable to
pretend to be another CPU for purposes of testing or because routines
written for that CPU are beneficial for specific workloads and second
where the underlying kernel does not support emulation of MRS to get
the MIDR of the CPU.

* elf/dl-tunables.h (tunable_is_name): Move from...
* elf/dl-tunables.c (is_name): ... here.
(parse_tunables, __tunables_init): Adjust.
* manual/tunables.texi: Document glibc.tune.cpu.
* sysdeps/aarch64/dl-tunables.list: New file.
* sysdeps/unix/sysv/linux/aarch64/cpu-features.c (struct
cpu_list): New type.
(cpu_list): New list of CPU names and their MIDR.
(get_midr_from_mcpu): New function.
(init_cpu_features): Override MIDR if necessary.
ChangeLog
elf/dl-tunables.c
elf/dl-tunables.h
manual/tunables.texi
sysdeps/aarch64/dl-tunables.list [new file with mode: 0644]
sysdeps/unix/sysv/linux/aarch64/cpu-features.c