Re: [PATCH 1/1] i386: Geode's TSC is not neccessary to mark tu unstable

From: Juergen Beisert
Date: Thu Jul 19 2007 - 02:49:33 EST


On Thursday 19 July 2007 03:02, Andrew Morton wrote:
> On Sun, 15 Jul 2007 21:06:27 +0200
>
> Juergen Beisert <juergen127@xxxxxxxxxxxxxx> wrote:
> > Replace NSC/Cyrix specific chipset access macros by inlined functions.
> > With the macros a line like this fails (and does nothing):
> > setCx86(CX86_CCR2, getCx86(CX86_CCR2) | 0x88);
> > With inlined functions this line will work as expected.
>
> I don't get it. Why would the macros behave differently from inlined
> functions?

X86 magic. The access order is important. The first access must always be the
offset at 0x22. This access enables the next access to 0x23 (data). If you do
it in wrong order, it fails. With the macros you get something like 0x22,
0x22, 0x23, 0x23. With the inline functions 0x22,0x23,0x22,0x23.

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