Cyrix 6x86MX and Centaur C6 CPUs in 2.1.102

=?ISO-8859-1?Q?Andr=E9?= Derrick Balsa (andrebalsa@altern.org)
Mon, 18 May 1998 09:11:10 -0100


Hello Linus,

I have noticed that, as a result of my previous posts, you modified the
apm driver, setup.c and time.c in kernel 2.1.102.

The mod in setup.c is more or less:

if (cyrix_CPU_detected)
turn_off_tsc_flag;

which is sub-optimal, and breaks code that tries to detect TSC
capability by reading /proc/cpuinfo, in machines equipped with a 6x86MX
or a C6.

The Cyrix 6x86MX has a fully compatible TSC implementation. However, it
also allows turning off the CPU when a Halt state is entered, something
the Intel CPUs can't do, and this breaks the current implementation of
do_fast_gettimeoffset() in time.c.

The mod above also ignores the Centaur C6.

The following single mod to function time_init() in time.c correctly
handles both the 6x86MX and the Centaur C6 power-down features:

Replace:

if (boot_cpu_data.x86_capability & 16) {
...

By:

if ((boot_cpu_data.x86_capability & 16) && (boot_cpu_data.x86_vendor !=
X86_VENDOR_CYRIX) && (boot_cpu_data.x86_vendor != X86_VENDOR_CENTAUR)) {
...

Regards,
------------------------
André Balsa
andrebalsa@altern.org

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