NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/40213: my i386 machine can't boot because of tsc



The following reply was made to PR kern/40213; it has been noted by GNATS.

From: Andrew Doran <ad%netbsd.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: kern/40213: my i386 machine can't boot because of tsc
Date: Wed, 17 Dec 2008 21:13:13 +0000

 On Wed, Dec 17, 2008 at 08:40:00PM +0000, Ryo HAYASAKA wrote:
 
 > The kernel using after revision 1.21 of /sys/arch/x86/x86/tsc.c can't
 > boot up.  The machine is rebooted as soon as probing timecounter in the
 > bootstrap process.
 > 
 > The revision 1.20 of it is OK.
 
 I think I see why. There are two versions of the atomic_cas_64() routine.
 One works on the i486 and the other is for the Pentium and later. We patch
 the kernel text when secondary CPUs are started. There problems with this:
 
 - The i486 routine is the default but is not MP-atomic.
 - The i486 routine enables interrupts unconditionally.
 - The Pentium routine needs to be patched in much earlier if available.
   Unlike other patches, this one is not a performance optimization but
   is a requirement for the system to function properly.
 
 Thanks,
 Andrew
 


Home | Main Index | Thread Index | Old Index