boot_cpu_data.x86_vendor corruption on dual AMD

Mikael Pettersson (mikpe@csd.uu.se)
Wed, 13 Mar 2002 22:29:26 +0100 (MET)


I'm involved with debugging a driver problem which only appears
on dual AMD systems. When the driver's module_init() is called,
boot_cpu_data.x86_vendor is 0 (Intel) instead of 2 (AMD), causing
incorrect code to be selected and eventually an oops.

We've so far traced it to the call to smp_init() in init/main.c.
Before this call, boot_cpu_data.x86_vendor is 2 (correct), but
after the call, the field is 0.

I've been looking through the code but haven't found any obvious
bug candidates, so we've resorted to debug printouts and binary
search. (I'm giving directions, another person is doing the tests
at a remote site, so progress is slow.)

The kernel in question is 2.4.18, but we've seen this in other
2.4 kernels too. Choice of compiler (gcc-2.96-98/egcs-2.91.66)
and CONFIG_MK7 on or off doesn't seem to make any difference.
The box (Tyan) is otherwise stable, and the CPUs are Athlon MPs.

/Mikael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/