Subject: netbsd and the 8254 timer (i386) was: Re: IDT Winchip C6 - broken TSC, slow system clock
To: None <>
From: Clint Wunderlich <>
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?


----- Original Message -----
From: "Jason R Thorpe" <>
To: "cpctc" <>
Cc: <>
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
>  > keeping time.
>  >
>  > I haven't found a way to do this in netbsd, however the kernel already
>  > 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 <>