Subject: netbsd and the 8254 timer (i386) was: Re: IDT Winchip C6 - broken TSC, slow system clock
To: None <thorpej@zembu.com>
From: Clint Wunderlich <cbw@rrinc.com>
List: tech-kern
Date: 06/25/2001 09:38:39
How or when does netbsd initialize (or RE-initialize) the 8254?

The behavior after the clock slows down is consistent with the 8254 being
set to a slower interrupt rate (higher divisor); the time is slow, and beeps
through the PC speaker are long.

Can mp3 players (amp, mpg123) or sound card drivers (soundblaster) make a
call through the kernel to change the 8254 speed, or could they do it
directly?  (and why would they?)

Is there any way I can debug this, or catch who sends commands to the 8254,
which looks to be at address 0x97?

Thanks.

----- Original Message -----
From: "Jason R Thorpe" <thorpej@zembu.com>
To: "cpctc" <cpctc@vt.edu>
Cc: <tech-kern@netbsd.org>
Sent: Saturday, June 23, 2001 3:27 AM
Subject: Re: IDT Winchip C6 - broken TSC, slow system clock


> On Fri, Jun 22, 2001 at 10:07:57PM -0400, cpctc wrote:
>
>  > I've searched for info on this; freebsd allows the following command:
>  > sysctrl -w kern.timecounter.hardware=i8254
>  >
>  > .. which should ignore the broken TSC register and use the i8254 chip
for
>  > keeping time.
>  >
>  > I haven't found a way to do this in netbsd, however the kernel already
knows
>  > the TSC feature is no good, so why am I having this problem?
>
> NetBSD doesn't use the TSC for keeping time, it only uses the 8254 timer.
>
> --
>         -- Jason R. Thorpe <thorpej@zembu.com>
>