Re: 2.2.0pre1 OOPS on boot.

Linus Torvalds (torvalds@transmeta.com)
Wed, 30 Dec 1998 11:53:14 -0800 (PST)


On Wed, 30 Dec 1998, Alan Cox wrote:
>
> The Alpha has been through this pain to the point that people gave up on
> the Linux instructions and installed NT simply because they couldn't work out
> which kernel to install. We now have a generic kernel for the Alpha, thanks
> to deep magic we have a generic kernel for the Sparc - which makes the intel
> like look positively sane
>
> The x86 shouldnt make the same mistakes as the Alpha did.

Alan, calm down.

What Linux on alpha ended up doing was having a Generic kernel, and then
the ability to compile for specific hardware.

And guess what? Linux/intel DOES THE SAME, and always has! There _is_ a
generic kernel, and it's called CONFIG_M386.

When you ask the configuration process to optimize for certain CPU's, you
lose the ability to run on some others. That has always been true: when
you choose CONFIG_M486, you lose the ability to run on i386 machines,
because then the kernel will take advantage of the fact that it _knows_
the memory management works properly.

I made a mistake in not documenting the fact that M586 means something
else these days, but you, Alan, are just going ballistic for no good
reason. Calm down, friend.

It probably _also_ makes sense to make the optimizations a bit more
specific, so that we'd have:

- completely generic (rather than calling it "386" - just say that it
is supposed to works on every ia32 machine)
- 486-specific: the current i486, with the ridiculous alignments that
that entails. Not recommended for _anything_ else than a i486.
- i486+: the old "Pentium" - works on i486 machines, but without the
stupid alignment, so it is smaller and faster on Pentium class machines
too. Doesn't require a TSC, so it works on pseudo-pentiums too. This is
apparently what you thought was "generic".
- Pentium+: requires TSC
- PentiumPro: requires TSC, conditional move instructions, and a fixed
local APIC for SMP.

Would that kind of split work for you? We could also make it _really_
specific.

The above is essentially what we have now, but I added a "i486+" entry
which is apparently what you were looking for. Ok?

Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/