[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081011214043.283a3330@lxorguk.ukuu.org.uk>
Date: Sat, 11 Oct 2008 21:40:43 +0100
From: Alan Cox <alan@...rguk.ukuu.org.uk>
To: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Cc: mingo@...e.hu, torvalds@...ux-foundation.org
Subject: Looks broken to me: x86, cyrix: debug
On Sat, 11 Oct 2008 20:03:32 GMT
Linux Kernel Mailing List <linux-kernel@...r.kernel.org> wrote:
> Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=026e2c05ef58ef413e2d52696f125d5ea1aa8bce
> Commit: 026e2c05ef58ef413e2d52696f125d5ea1aa8bce
> Parent: 93ded9b8fd42abe2c3607097963d8de6ad9117eb
> Author: Ingo Molnar <mingo@...e.hu>
> AuthorDate: Tue Jul 22 11:58:14 2008 +0200
> Committer: Ingo Molnar <mingo@...e.hu>
> CommitDate: Tue Jul 22 12:24:00 2008 +0200
>
> x86, cyrix: debug
Looks broken to me:
> /* Load/Store Serialize to mem access disable (=reorder it) */
> - setCx86(CX86_PCR0, getCx86(CX86_PCR0) & ~0x80);
> + setCx86_old(CX86_PCR0, getCx86_old(CX86_PCR0) & ~0x80);
Three problems:
1.
> +#define getCx86_old(reg) ({ outb((reg), 0x22); inb(0x23); })
Doesn't expand to any kind of returned value.
+#define setCx86_old(reg, data) do { \
> + outb((reg), 0x22); \
> + outb((data), 0x23); \
> +} while (0)
2.
And even if it did it would seem to expand to
outb reg, 0x22
outb reg, 0x22
inb 0x23
outb something, 0x23
which doesn't in fact work as the outb/inb or outb/outb to 0x22/0x23 must
be paired.
3.
What exactly does fiddling with stuff like the memory access ordering
(which is rather important!) have to do with a single oneliner "cyrix:
debug" title and no changelog.
Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists