|
@@ -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[] = {
|
|
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)
|
|
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()]);
|