[PATCH] 2.3.40: <linux/linkage.h> doesn't generate correct cache alignments for 486 and above

Mike Galbraith mikeg en weiden.de
Jue Ene 27 02:30:04 CST 2000


On Wed, 26 Jan 2000, Chris Sears wrote:

Hi Chris,

> On inspection <linux/linkage.h> handles the i686 incorrectly.
> Cache line alignments are being set to 4 bytes as per the i386.
> This is a bad bad thing for the i686.

afaik, __ALIGN has nothing to do with cache-line size.. L1_CACHE_BYTES.
(hmm.. am I out to lunch or should __ALIGN be set to 0 for pentia?)

> However, it is much worse than this. __i386__ is always defined.
> BTW, I am running gcc 2.95.1 and I don't have the stomach to
> track down where, but __i386__ is always defined for x86.

That's done in specs:predefines.  __i386__ is always defined, and as
soon as you tell it which cpu you're using, (see cpp_cpu) cpp adds
to it's defines accordingly.

I don't see anything at all wrong with using __ix86__ because the
kernel isn't going to be compiled by anything other than gcc without
doing a truckload of rewriting.

	-Mike


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



Más información sobre la lista de distribución Ayuda