Re: [patch 2.4 1/2] backport 2.6 x86 cpu capabilities

From: Jeff Garzik
Date: Sat Aug 09 2003 - 09:13:16 EST


Mikael Pettersson wrote:
On Fri, 08 Aug 2003 09:15:03 -0400, Jeff Garzik wrote:

If you change NCAPINTS you also have to change the hardcoded
struct offset X86_VENDOR_ID in arch/i386/kernel/head.S. Otherwise
nasty stuff happen at boot since boot_cpu_data gets broken.


hmmm, reality doesn't seem to bear that out... I made the same change to 2.6, without touching head.S, and life continues without "nasty stuff" AFAICS.

Do both 2.4 and 2.6 need this change? And, why didn't 2.6 break?


2.4.21-rc1 with NCAPINTS==6 hangs at boot in the local
APIC timer calibration step; before that it detected a
0MHz bus clock and the local APIC NMI watchdog was stuck.
Correcting head.S:X86_VENDOR_ID fixes these problems.

Without correcting head.S:X86_VENDOR_ID, head.S will store
the vendor id partly in the capabilities array. This breaks
both the capabilities and the vendor id. I can't say why 2.6
works, but obviously the CPU setup code has changed since 2.4.

BTW, the patch below should be applied to 2.6.


Thanks for the patch, and for explaining.

Jeff



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