Re: [tip:x86/mce] x86/bitops: Move BIT_64() for a wider use

From: Linus Torvalds
Date: Wed May 23 2012 - 12:45:37 EST


On Wed, May 23, 2012 at 9:42 AM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
> On 05/23/2012 09:40 AM, Linus Torvalds wrote:
>
> And it doesn't work in assembly.  However, I really question the assumption.

The asm case is *trivial*.

asm cannot handle anything but constant shifts anyway, so the BIT()
constness rules would remain. But since asm doesn't have any integer
types, you simply do

#ifdef __ASSEMBLY__
#define BIT(x) (1<<(x))
#else
.. the C type-morphing one ..
#endif

As to questioning the assumption, you're simply wrong. BIT(0)
absolutely MUST NOT be a 64-bit value on a 32-bit kernel. End of
discussion. This isn't an "assumption", it's an axiom.

Linus
--
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/