Commit c275ce44 authored by Sam Ravnborg's avatar Sam Ravnborg Committed by David S. Miller

sparc64: fix readout of cpu/fpu type

Meelis reported that on his box /proc/cpuinfo started
to reported "Unknow CPU" and the same did the boot messages.

It was a stupid bug I introduced when merging
cpu.c for 32 and 64 bit.

The code did an array reference where it had to search
for the right index.
Reported-by: default avatarMeelis Roos <mroos@linux.ee>
Tested-by: default avatarMeelis Roos <mroos@linux.ee>
Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f3b8436a
...@@ -239,14 +239,26 @@ unsigned int fsr_storage; ...@@ -239,14 +239,26 @@ unsigned int fsr_storage;
static void set_cpu_and_fpu(int psr_impl, int psr_vers, int fpu_vers) static void set_cpu_and_fpu(int psr_impl, int psr_vers, int fpu_vers)
{ {
const struct manufacturer_info *manuf;
int i;
sparc_cpu_type = NULL; sparc_cpu_type = NULL;
sparc_fpu_type = NULL; sparc_fpu_type = NULL;
if (psr_impl < ARRAY_SIZE(manufacturer_info)) manuf = NULL;
for (i = 0; i < ARRAY_SIZE(manufacturer_info); i++)
{
if (psr_impl == manufacturer_info[i].psr_impl) {
manuf = &manufacturer_info[i];
break;
}
}
if (manuf != NULL)
{ {
const struct cpu_info *cpu; const struct cpu_info *cpu;
const struct fpu_info *fpu; const struct fpu_info *fpu;
cpu = &manufacturer_info[psr_impl].cpu_info[0]; cpu = &manuf->cpu_info[0];
while (cpu->psr_vers != -1) while (cpu->psr_vers != -1)
{ {
if (cpu->psr_vers == psr_vers) { if (cpu->psr_vers == psr_vers) {
...@@ -256,7 +268,7 @@ static void set_cpu_and_fpu(int psr_impl, int psr_vers, int fpu_vers) ...@@ -256,7 +268,7 @@ static void set_cpu_and_fpu(int psr_impl, int psr_vers, int fpu_vers)
} }
cpu++; cpu++;
} }
fpu = &manufacturer_info[psr_impl].fpu_info[0]; fpu = &manuf->fpu_info[0];
while (fpu->fp_vers != -1) while (fpu->fp_vers != -1)
{ {
if (fpu->fp_vers == fpu_vers) { if (fpu->fp_vers == fpu_vers) {
......
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