Re: Cyrix 6x86MX and Centaur C6 CPUs in 2.1.102

Vojtech Pavlik (vojtech-lists@twilight.ucw.cz)
Mon, 18 May 1998 23:48:27 +0200


On Mon, May 18, 1998 at 07:36:07PM +0000, Linus Torvalds wrote:

> and that's it. Look at how 2.1.102 handles this: the cyrix-specific
> setup code will zero out the TSC bit from the capability mask, because
> Cyrix in essense does not _have_ a TSC that is correct.
>
> Zeroing out the bit automatically means that everything in the kernel
> that would try to use the TSC notices that it doesn't exist, and the
> problem is solved. And the only cyrix-specific code is exactly where it
> should be, ie in the cpuinfo setup code.

*sigh* And this would also mean that my joystick driver will fallback into
PIT timing mode on a Cyrix, though it could safely use the TSC timer, since
there isn't a chance of the CPU getting a HLT instruction while it is timing
the joystick input ...

If I could suggest a solution, add a bug flag for this behaviour, and check
for presence of TSC and absence of the bug in do_fast_gettimeofday. The TSC
simply is there, though not suitable for all uses.

Also, it'd be neat if the kernel had some public variable containing the
real TSC increment speed for each CPU, say in ticks per second or
microsecond, so that drivers using the TSC wouldn't need to calibrate it.

Vojtech Pavlik

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu