Messages in this thread | | | Date | Sun, 22 Feb 2004 12:32:13 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: kernel/microcode.c error from new 64bit code |
| |
On Sun, 22 Feb 2004, H. Peter Anvin wrote: > > The above code is just plain wrong: the cast to (unsigned long) has > higher precedence than the shift, so on i386 (which I presume this is) > it will become an unsigned long, and the shifts will bring it down to > zero.
WHICH IS WHAT WE WANT. On x86.
But ..
> You might as well write zero if that's what you mean.
No. Because on x86-64 it is NOT zero. Because there "unsigned long" is 64-bit, and it results in the high 32 bits. Which is, again, exactly what we want.
Guys, give it up. The code is not only already committed, it's simply the best way to do what it does.
Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |