Messages in this thread | | | Date | Thu, 7 Mar 2002 18:11:36 +0100 | From | Dave Jones <> | Subject | Re: [OOPS] Linux 2.2.21pre[23] |
| |
On Thu, Mar 07, 2002 at 06:06:09PM +0100, Luca Montecchiani wrote: > > Ok, this doesn't make any sense at all. > You're right x86_serial_nr_setup() is c0278bc8 > while c0278bc1 didn't exist in my system.map sorry!
So we died in squash_the_stupid_serial_number()
static void __init squash_the_stupid_serial_number(struct cpuinfo_x86 *c) { if (c->x86_capability&(X86_FEATURE_PN) && disable_x86_serial_nr) { /* Disable processor serial number */ unsigned long lo,hi; rdmsr(0x119,lo,hi); lo |= 0x200000; wrmsr(0x119,lo,hi); printk(KERN_NOTICE "CPU serial number disabled.\n"); c->x86_capability &= ~X86_FEATURE_PN; c->cpuid_level = cpuid_eax(0); } }
Given that you see the printk, its one of the last two lines. I can't see how this can happen. Although the cpuid_eax function in include/asm-i386/processor.h needs updating.
2.2 has extern inline unsigned int cpuid_eax(unsigned int op) { unsigned int eax, ebx, ecx, edx;
__asm__("cpuid" : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) : "a" (op)); return eax; }
2.4 has unsigned int eax; __asm__("cpuid" : "=a" (eax) : "0" (op) : "bx", "cx", "dx"); return eax;
Though, that shouldn't make any noticable difference unless.
-- | Dave Jones. http://www.codemonkey.org.uk | SuSE Labs - 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/
| |