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