2003-09-26 08:49:51

by Chris Sykes

[permalink] [raw]
Subject: Kernel panic on 2.4.22 (no TSC) when compiled for i486

Hello all.

I'm getting a kernel panic from my 2.4.22 kernel when compiled for
i486 (see attached .config).

"Kernel panic: Kernel compiled for Pentium+, requires TSC feature!"

The CPU is a Cyrix Cx486DX2 100MHz part. I tried booting with notsc
but I get the message:
"notsc: Kernel compiled with CONFIG_X86_TSC, cannot disable TSC."

The kernel will work fine when recompiled for i386.

Does a real 486 have a TSC, or is this a config bug?

--

(o- Chris Sykes -- GPG Key: http://www.sigsegv.plus.com/key.txt
//\ "Don't worry. Everything is getting nicely out of control ..."
V_/_ Douglas Adams - The Salmon of Doubt


Attachments:
(No filename) (655.00 B)
config (19.58 kB)
Download all attachments

2003-09-26 11:40:32

by Mikael Pettersson

[permalink] [raw]
Subject: Re: Kernel panic on 2.4.22 (no TSC) when compiled for i486

Chris Sykes writes:
> I'm getting a kernel panic from my 2.4.22 kernel when compiled for
> i486 (see attached .config).
>
> "Kernel panic: Kernel compiled for Pentium+, requires TSC feature!"
>
> The CPU is a Cyrix Cx486DX2 100MHz part. I tried booting with notsc
> but I get the message:
> "notsc: Kernel compiled with CONFIG_X86_TSC, cannot disable TSC."
>
> The kernel will work fine when recompiled for i386.
>
> Does a real 486 have a TSC, or is this a config bug?
...
> CONFIG_M486=y
...
> CONFIG_X86_TSC=y

I've reproduced this problem. It's a bug in the configuration
system which triggers when you change an option which has
derived options.

In this case, when first configuring for a CPU with TSC the
derived CONFIG_X86_TSC option is added. Then when reconfiguring
for a TSC-less CPU (e.g., 486) the derived option stays because
it derived from something that _was_ defined at the start of the
config run.

The workaround is to do an additional 'make oldconfig', after
which the derived option will be gone.

/Mikael

2003-09-26 12:17:14

by Chris Sykes

[permalink] [raw]
Subject: Re: Kernel panic on 2.4.22 (no TSC) when compiled for i486

On Fri, Sep 26, 2003 at 01:40:28PM +0200, Mikael Pettersson wrote:
> system which triggers when you change an option which has
> derived options.
>
> In this case, when first configuring for a CPU with TSC the
> derived CONFIG_X86_TSC option is added. Then when reconfiguring
> for a TSC-less CPU (e.g., 486) the derived option stays because
> it derived from something that _was_ defined at the start of the
> config run.
>
> The workaround is to do an additional 'make oldconfig', after
> which the derived option will be gone.

OK. Thanks for the info.

--

(o- Chris Sykes -- GPG Key: http://www.sigsegv.plus.com/key.txt
//\ "Don't worry. Everything is getting nicely out of control ..."
V_/_ Douglas Adams - The Salmon of Doubt