Re: NexGen Processors and Linux kernel 2.0

Albert Cahalan (albert@ccs.neu.edu)
Fri, 14 Jun 1996 13:35:23 -0400 (EDT)


> -----------------------------------------------------------------------
> FROM NEXGEN's WEBSITE's FAQ:
>
> Why is my Nx586 identified by my application or operating system
> as an 80386, or some other microprocessor?
> A small number of applications attempt to identify a PC's
> microprocessor. Occasionally, the processor is identified
> incorrectly. Most often, the incorrect CPU ID results
> simply in a display of the wrong CPU type. In some cases,
> an Nx586 processor may be misidentified as an 80386. The
> NexGen CPU ID page provides more detailed discussion of CPU
> ID issues and resolutions.
>
> The NexGen CPU ID page's URL is:
> http://www.nexgen.com/support/pscpuid.htm
> ------------------------------------------------------------------------

That is almost wrong...

> I run a Linux server, transient.net. Currently I use kernel 1.2.13,
> though from time to time I've considered the 1.3.*'s. When 2.0.0 came out,
> I finished updating my system (got gcc-2.7.2, the new libc everything).

> The compilation went fine. In the configuration, I specified [P]entium,
> because I have a NexGen586/90, that can do everything that a Pentium can.

False. There are things that the NexGen can't do.

> I normally (when compiling things) use GCC's -m486,
> and have no problems (and get faster programs).
>
> Things we not good though. I booted from the floppy... It uncompressed
> the kernel... and then died saying that this is a 386, and the kernel has
> been optimized for a 486 or faster. Giving up...
>
> Now, my older (1.2.13) kernel was also -m486 optimized, but It never had
> a problem. I had been aware that sometimes the chip gave false readings,
> but heard it was harmless. uname -a likes to indicate that I have an i386.
> Which is not that big a deal.

You do have a 386. (Yes I know it is fast and they said it was a Pentium)

> I am mailing this to the linux-kernel mailing-list to make the kernel
> developers (developer) aware of this problem, with the hopes that it may
> be fixed, or patched, or what not (though I know you had hopes of not
> having to go beyond 2.0.0 into 2.0.1, and I also don't know if this
> justifies a full patch... however, I, and probably most NexGen owners
> (there are a bunch) would rather not have to use a sub-optimized kernel
> 2, when 1.2.13 lets you optimize...

It lets you optimize for a 486 or Pentium, which you do not have.

> I am mailing this to the GCC-bugs list to let them know of this problem,
> because although it is not a specific error of GCC's, it could be useful
> to implement a warning or change some of the code to route around this
> problem. NexGen has some sample code for fixing this problem, at the
> above url.

Nope, the problem is hand-coded assembly. Gcc will never create
the problem code.

At the very least, your CPU is missing the page invalidate instruction.
Maybe it also lacks 4 MB pages.