[parisc-linux] I think WAX is broken

Matthew Wilcox willy@debian.org
Mon, 9 Jul 2001 02:30:48 +0100


On Sun, Jul 08, 2001 at 07:03:20PM -0600, Grant Grundler wrote:
> Hey! that's mine! :^P

It's still obscure.  I know x86 does something similar, and I think it's
obfuscated too.

> Someone needs to understand what "((addr & 0xfc00) >> 6)" does.
> It looks like it overlaps with "((addr & 0x03f8) << 9)".

fc00 >> 6 = 3f0
03f8 << 9 = 7f000
7 = 7

1111'1100'0000'0000 -> 0000'0000'0011'1111'0000
0000'0011'1111'1000 -> 0111'1111'0000'0000'0000
0000'0000'0000'0111 -> 0000'0000'0000'0000'0111

1111'1111'1111'1111 -> 0111'1111'0011'1111'0111

Icky.  And it means we can't do away with the function calls for inb/outb.
*sigh*.

-- 
Revolutions do not require corporate support.