lkml.org 
[lkml]   [2002]   [Mar]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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/

\
 
 \ /
  Last update: 2005-03-22 13:24    [W:0.081 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site