KVM: x86: Fix constant type in kvm_get_time_scale
authorJan Kiszka <jan.kiszka@siemens.com>
Sun, 26 Sep 2010 11:00:53 +0000 (13:00 +0200)
committerAvi Kivity <avi@redhat.com>
Sun, 24 Oct 2010 08:53:08 +0000 (10:53 +0200)
Older gcc versions complain about the improper type (for x86-32), 4.5
seems to fix this silently. However, we should better use the right type
initially.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/x86.c

index bfcf8fd5e08044100b7c718fb0f7c40174283d66..ffcb90669ec5a41ed05075975511c9a81e1eb070 100644 (file)
@@ -930,14 +930,14 @@ static void kvm_get_time_scale(uint32_t scaled_khz, uint32_t base_khz,
 
        tps64 = base_khz * 1000LL;
        scaled64 = scaled_khz * 1000LL;
-       while (tps64 > scaled64*2 || tps64 & 0xffffffff00000000UL) {
+       while (tps64 > scaled64*2 || tps64 & 0xffffffff00000000ULL) {
                tps64 >>= 1;
                shift--;
        }
 
        tps32 = (uint32_t)tps64;
-       while (tps32 <= scaled64 || scaled64 & 0xffffffff00000000UL) {
-               if (scaled64 & 0xffffffff00000000UL || tps32 & 0x80000000)
+       while (tps32 <= scaled64 || scaled64 & 0xffffffff00000000ULL) {
+               if (scaled64 & 0xffffffff00000000ULL || tps32 & 0x80000000)
                        scaled64 >>= 1;
                else
                        tps32 <<= 1;