Commit b342ea4e authored by Ard Biesheuvel's avatar Ard Biesheuvel Committed by Russell King

ARM: 7981/1: add support for AT_HWCAP2 ELF auxv entry

This enables AT_HWCAP2 for ARM. The generic support for this
new ELF auxv entry was added in commit 2171364d (powerpc:
Add HWCAP2 aux entry)
Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 27e8efdb
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
* instruction set this cpu supports. * instruction set this cpu supports.
*/ */
#define ELF_HWCAP (elf_hwcap) #define ELF_HWCAP (elf_hwcap)
extern unsigned int elf_hwcap; #define ELF_HWCAP2 (elf_hwcap2)
extern unsigned int elf_hwcap, elf_hwcap2;
#endif #endif
#endif #endif
...@@ -28,4 +28,8 @@ ...@@ -28,4 +28,8 @@
#define HWCAP_LPAE (1 << 20) #define HWCAP_LPAE (1 << 20)
#define HWCAP_EVTSTRM (1 << 21) #define HWCAP_EVTSTRM (1 << 21)
/*
* HWCAP2 flags - for elf_hwcap2 (in kernel) and AT_HWCAP2
*/
#endif /* _UAPI__ASMARM_HWCAP_H */ #endif /* _UAPI__ASMARM_HWCAP_H */
...@@ -100,6 +100,9 @@ EXPORT_SYMBOL(system_serial_high); ...@@ -100,6 +100,9 @@ EXPORT_SYMBOL(system_serial_high);
unsigned int elf_hwcap __read_mostly; unsigned int elf_hwcap __read_mostly;
EXPORT_SYMBOL(elf_hwcap); EXPORT_SYMBOL(elf_hwcap);
unsigned int elf_hwcap2 __read_mostly;
EXPORT_SYMBOL(elf_hwcap2);
#ifdef MULTI_CPU #ifdef MULTI_CPU
struct processor processor __read_mostly; struct processor processor __read_mostly;
...@@ -1005,6 +1008,10 @@ static const char *hwcap_str[] = { ...@@ -1005,6 +1008,10 @@ static const char *hwcap_str[] = {
NULL NULL
}; };
static const char *hwcap2_str[] = {
NULL
};
static int c_show(struct seq_file *m, void *v) static int c_show(struct seq_file *m, void *v)
{ {
int i, j; int i, j;
...@@ -1028,6 +1035,10 @@ static int c_show(struct seq_file *m, void *v) ...@@ -1028,6 +1035,10 @@ static int c_show(struct seq_file *m, void *v)
if (elf_hwcap & (1 << j)) if (elf_hwcap & (1 << j))
seq_printf(m, "%s ", hwcap_str[j]); seq_printf(m, "%s ", hwcap_str[j]);
for (j = 0; hwcap2_str[j]; j++)
if (elf_hwcap2 & (1 << j))
seq_printf(m, "%s ", hwcap2_str[j]);
seq_printf(m, "\nCPU implementer\t: 0x%02x\n", cpuid >> 24); seq_printf(m, "\nCPU implementer\t: 0x%02x\n", cpuid >> 24);
seq_printf(m, "CPU architecture: %s\n", seq_printf(m, "CPU architecture: %s\n",
proc_arch[cpu_architecture()]); proc_arch[cpu_architecture()]);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment