Re: 2.4.26 doesn't boot on a 386 without "Unsynced TSC support"

From: Mikael Pettersson
Date: Wed Jul 28 2004 - 14:12:01 EST


On Wed, 28 Jul 2004 17:47:49 +0200, Erik Mouw wrote:
>I tried to boot 2.4.26 on my good old 386 board, but got a kernel
>panic:
>
> CPU: 386
> Kernel panic: Kernel compiled for Pentium+, requires TSC feature!
...
>I am sure I selected support for a 80386 CPU, so the error message
>looks wrong to me. CONFIG_M586TSC is not set, but CONFIG_X86_TSC is
>enabled by default. The only way to disable it, is to enable "Unsynced
>TSC support", (CONFIG_X86_TSC_DISABLE).
...
>My question is: is this a code bug, or a documentation bug? Right now,
>I guess 2.4.26 will not run on anything < Pentium without
>CONFIG_X86_TSC_DISABLE enabled.

It's a limitation in scripts/Configure.
If you start with a .config with TSC enabled/required,
and just flip the CPU selection option to a TSC-less
CPU, like 386 or 486, then you end up with a .config
that _still_ has TSC enabled/required.

The workaround is to run 'make oldconfig' afterwards.

FWIW, both 2.4 and 2.6 kernels run Ok on my 486.
(My 486's Fedora user-space is another matter,
requiring kernel hacks for unconditional RDTSC
usage in RPM, but that's another issue.)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/