diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2014-02-19 16:28:40 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2014-02-25 06:40:48 -0500 |
commit | b342ea4e4ff970518264c81eefd05f637e3f193a (patch) | |
tree | a4c66fc7b864694c083538920d558a87b7faa103 /arch/arm/kernel/setup.c | |
parent | 27e8efdbf1aecb65dd712fd93766f1a04b86ac22 (diff) |
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 2171364d1a9 (powerpc:
Add HWCAP2 aux entry)
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/setup.c')
-rw-r--r-- | arch/arm/kernel/setup.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index b0df9761de6d..dbb5449d6b79 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c | |||
@@ -100,6 +100,9 @@ EXPORT_SYMBOL(system_serial_high); | |||
100 | unsigned int elf_hwcap __read_mostly; | 100 | unsigned int elf_hwcap __read_mostly; |
101 | EXPORT_SYMBOL(elf_hwcap); | 101 | EXPORT_SYMBOL(elf_hwcap); |
102 | 102 | ||
103 | unsigned int elf_hwcap2 __read_mostly; | ||
104 | EXPORT_SYMBOL(elf_hwcap2); | ||
105 | |||
103 | 106 | ||
104 | #ifdef MULTI_CPU | 107 | #ifdef MULTI_CPU |
105 | struct processor processor __read_mostly; | 108 | struct processor processor __read_mostly; |
@@ -1005,6 +1008,10 @@ static const char *hwcap_str[] = { | |||
1005 | NULL | 1008 | NULL |
1006 | }; | 1009 | }; |
1007 | 1010 | ||
1011 | static const char *hwcap2_str[] = { | ||
1012 | NULL | ||
1013 | }; | ||
1014 | |||
1008 | static int c_show(struct seq_file *m, void *v) | 1015 | static int c_show(struct seq_file *m, void *v) |
1009 | { | 1016 | { |
1010 | int i, j; | 1017 | int i, j; |
@@ -1028,6 +1035,10 @@ static int c_show(struct seq_file *m, void *v) | |||
1028 | if (elf_hwcap & (1 << j)) | 1035 | if (elf_hwcap & (1 << j)) |
1029 | seq_printf(m, "%s ", hwcap_str[j]); | 1036 | seq_printf(m, "%s ", hwcap_str[j]); |
1030 | 1037 | ||
1038 | for (j = 0; hwcap2_str[j]; j++) | ||
1039 | if (elf_hwcap2 & (1 << j)) | ||
1040 | seq_printf(m, "%s ", hwcap2_str[j]); | ||
1041 | |||
1031 | seq_printf(m, "\nCPU implementer\t: 0x%02x\n", cpuid >> 24); | 1042 | seq_printf(m, "\nCPU implementer\t: 0x%02x\n", cpuid >> 24); |
1032 | seq_printf(m, "CPU architecture: %s\n", | 1043 | seq_printf(m, "CPU architecture: %s\n", |
1033 | proc_arch[cpu_architecture()]); | 1044 | proc_arch[cpu_architecture()]); |