![]() | |||||||||||||
Messages in this thread |
>>>>> On Sun, 5 Mar 2006 10:13:56 +1100, Paul Mackerras <paulus@samba.org> said: paul> I think the thing that makes most sense is: paul> #define jiffies ((unsigned long) jiffies_64) paul> and fix the few drivers that use `jiffies' as a local variable. paul> No-one should be trying to write to jiffies, and the compiler paul> will do the right thing for reads of jiffies on 32-bit platforms paul> (it does on ppc32 at least). I think making jiffies a non l-value is good, but this drops volatile attribute from jiffies (since jiffies_64 is not volatile). It might break some codes which do polling on jiffies. Something like this would be better? #if defined(__BIG_ENDIAN) && BITS_PER_LONG == 32 #define jiffies (*((const volatile unsigned long *)&jiffies_64 + 1)) #else #define jiffies (*(const volatile unsigned long *)&jiffies_64) #endif And if we do not want to depend on -fno-strict-aliasing, the union would be The Only Neat Thing to Do. --- Atsushi Nemoto - 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/ | ||||||||||||
| Last update: 2006-03-06 06:29 [W:0.543 / U:0.030 seconds] ©2003-2008 Jasper Spaans | |||||||||||||