Messages in this thread | | | Date | Thu, 21 Mar 2002 19:58:49 +0100 (MET) | From | "Maciej W. Rozycki" <> | Subject | Re: boot_cpu_data.x86_vendor corruption on dual AMD |
| |
On Wed, 13 Mar 2002, Mikael Pettersson wrote:
> 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.
Code in arch/i386/kernel/head.S (look below checkCPUtype) clears boot_cpu_data.x86_vendor and it does not get reconstructed after secondary bootstraps. A common x86_vendor does not make sense anyway, at least in principle (the whole cpu_data handling needs a rework but I have no time to continue what I started last year and nobody else seems to work on it either). Wouldn't current_cpu_data.x86_vendor suffice? That will work for sure.
-- + Maciej W. Rozycki, Technical University of Gdansk, Poland + +--------------------------------------------------------------+ + e-mail: macro@ds2.pg.gda.pl, PGP key available +
- 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/
| |