Make constants in kernel/timeconst.h fixed 64 bits
authorH. Peter Anvin <hpa@zytor.com>
Fri, 2 May 2008 23:18:42 +0000 (16:18 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Fri, 2 May 2008 23:18:42 +0000 (16:18 -0700)
commitb9095fd8a7f41dc7ac0b0b7864f74766a3056f96
tree85653322dfb5b0c2faef3973d9d480d8117e4454
parentc25bd29805f4d854c3a0b4176813f3c1bff569d3
Make constants in kernel/timeconst.h fixed 64 bits

Force constants in kernel/timeconst.h (except shift counts) to be 64 bits,
using U64_C() constructor macros, and eliminate constants that cannot
be represented at all in 64 bits.  This avoids warnings with some gcc
versions.

Drop generating 64-bit constants, since we have no real hope of
getting a full set (operation on 64-bit values requires a 128-bit
intermediate result, which gcc only supports on 64-bit platforms, and
only with libgcc support on some.)  Note that the use of these
constants does not depend on if we are on a 32- or 64-bit architecture.

This resolves Bugzilla 10153.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
kernel/time.c
kernel/timeconst.pl