On Fri, Dec 05, 2014 at 05:38:39PM +0000, Catalin Marinas wrote: > On Fri, Dec 05, 2014 at 11:11:14AM +0000, Russell King - ARM Linux wrote: > > In any case, wouldn't using a u64 type for "address" be better - isn't > > "long long" 128-bit on 64-bit architectures? > > No, it's still 64-bit. There is no 128-bit integer in the C standard. Actually, that's a fallicy. The C99 standard (like previous versions) does not define exactly the number of bits in each type. It defines ranks of type, and says that lower ranks are a subrange of integers with higher ranks (for the same signed-ness.) See section 6.2.5. So, it merely states that: range(char) <= range(short) <= range(int) <= range(long) <= range(long long) So, an implementation could have: char: 8 short: 16 int: 16 long: 32 long long: 64 char: 8 short: 16 int: 32 long: 32 long long: 64 char: 8 short: 16 int: 32 long: 64 long long: 64 char: 8 short: 16 int: 64 long: 64 long long: 64 or even: char: 8 short: 16 int: 32 long: 64 long long: 128 and that would still be compliant with C99, since it continues to meet the criteria about the required data types specified in the standard. -- FTTC broadband for 0.8mile line: currently at 9.5Mbps down 400kbps up according to speedtest.net. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html