diff options
author | David Daney <ddaney@caviumnetworks.com> | 2010-01-28 19:52:12 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2010-02-27 06:53:20 -0500 |
commit | 874fd3b5acc20f2a464409045aef3b2288069787 (patch) | |
tree | 667316d08ee5b5b4be99e75dca7bcf9ff315503a | |
parent | 3b839070f11295735ce8d9ef580c5eb23417aabf (diff) |
MIPS: Allow the auxv's elf_platform entry to be set.
The userspace runtime linker uses the elf_platform to find the libraries
optimized for the current CPU archecture variant. First we need to allow it
to be set to something other than NULL. Follow-on patches will set some
values for specific CPUs.
GLIBC already does the right thing. The kernel just needs to supply good
data.
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Patchwork: http://patchwork.linux-mips.org/patch/891/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | arch/mips/include/asm/elf.h | 14 | ||||
-rw-r--r-- | arch/mips/kernel/cpu-probe.c | 1 |
2 files changed, 8 insertions, 7 deletions
diff --git a/arch/mips/include/asm/elf.h b/arch/mips/include/asm/elf.h index 7a6a35dbe529..e53d7bed5cda 100644 --- a/arch/mips/include/asm/elf.h +++ b/arch/mips/include/asm/elf.h | |||
@@ -334,14 +334,14 @@ extern int dump_task_fpu(struct task_struct *, elf_fpregset_t *); | |||
334 | 334 | ||
335 | #define ELF_HWCAP (0) | 335 | #define ELF_HWCAP (0) |
336 | 336 | ||
337 | /* This yields a string that ld.so will use to load implementation | 337 | /* |
338 | specific libraries for optimization. This is more specific in | 338 | * This yields a string that ld.so will use to load implementation |
339 | intent than poking at uname or /proc/cpuinfo. | 339 | * specific libraries for optimization. This is more specific in |
340 | 340 | * intent than poking at uname or /proc/cpuinfo. | |
341 | For the moment, we have only optimizations for the Intel generations, | 341 | */ |
342 | but that could change... */ | ||
343 | 342 | ||
344 | #define ELF_PLATFORM (NULL) | 343 | #define ELF_PLATFORM __elf_platform |
344 | extern const char *__elf_platform; | ||
345 | 345 | ||
346 | /* | 346 | /* |
347 | * See comments in asm-alpha/elf.h, this is the same thing | 347 | * See comments in asm-alpha/elf.h, this is the same thing |
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c index 1773544e3dbb..494e8ab48d63 100644 --- a/arch/mips/kernel/cpu-probe.c +++ b/arch/mips/kernel/cpu-probe.c | |||
@@ -926,6 +926,7 @@ static inline void cpu_probe_cavium(struct cpuinfo_mips *c, unsigned int cpu) | |||
926 | } | 926 | } |
927 | 927 | ||
928 | const char *__cpu_name[NR_CPUS]; | 928 | const char *__cpu_name[NR_CPUS]; |
929 | const char *__elf_platform; | ||
929 | 930 | ||
930 | __cpuinit void cpu_probe(void) | 931 | __cpuinit void cpu_probe(void) |
931 | { | 932 | { |