Jacek Lipkowski writes:
> Booting the 2.4.32 kernel compiled for a i486 on an i486 box fails,
> because "Kernel compiled for Pentium+, requires TSC feature!" (printed
> from check_config() include/asm-i386/bugs.h). To reproduce, select 486 in
> the kernel configuration and grep CONFIG_X86_TSC .config
>
> Seems strange that no one noticed this, am i the only one still using 486
> boxes? :)
>
> Jacek
>
> Simple patch against vanilla 2.4.32:
>
> --- arch/i386/config.in.old 2006-01-30 22:57:21.000000000 +0100
> +++ arch/i386/config.in 2006-01-30 23:00:55.000000000 +0100
> @@ -65,6 +65,7 @@
> define_bool CONFIG_X86_POPAD_OK y
> define_bool CONFIG_RWSEM_GENERIC_SPINLOCK n
> define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM y
> + define_bool CONFIG_X86_TSC n
> fi
> if [ "$CONFIG_M486" = "y" ]; then
> define_int CONFIG_X86_L1_CACHE_SHIFT 4
> @@ -72,6 +73,7 @@
> define_bool CONFIG_X86_ALIGNMENT_16 y
> define_bool CONFIG_X86_PPRO_FENCE y
> define_bool CONFIG_X86_F00F_WORKS_OK n
> + define_bool CONFIG_X86_TSC n
> fi
> if [ "$CONFIG_M586" = "y" ]; then
> define_int CONFIG_X86_L1_CACHE_SHIFT 5
This is a known limitation of the 2.4 kernel's configuration system:
a single round of make ${foo}config doesn't always reach a fixpoint
with regard to the derived options. CONFIG_X86_TSC is the standard
example of this: switching from a stable .config with TSC (say i686)
to one without (say i486) leaves a stray definition of CONFIG_X86_TSC
behind in .config. Solution: run 'make oldconfig' after flipping the
user-selectatable options.
Your patch may fix the TSC case, but there are probably more cases
like this in 2.4.
/Mikael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]