diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/ia64/kvm/kvm-ia64.c | 3 | ||||
-rw-r--r-- | arch/x86/kvm/i8254.c | 6 | ||||
-rw-r--r-- | arch/x86/kvm/lapic.c | 6 |
3 files changed, 7 insertions, 8 deletions
diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c index 6df073240135..318b81100623 100644 --- a/arch/ia64/kvm/kvm-ia64.c +++ b/arch/ia64/kvm/kvm-ia64.c | |||
@@ -1,4 +1,3 @@ | |||
1 | |||
2 | /* | 1 | /* |
3 | * kvm_ia64.c: Basic KVM suppport On Itanium series processors | 2 | * kvm_ia64.c: Basic KVM suppport On Itanium series processors |
4 | * | 3 | * |
@@ -431,7 +430,7 @@ int kvm_emulate_halt(struct kvm_vcpu *vcpu) | |||
431 | if (itc_diff < 0) | 430 | if (itc_diff < 0) |
432 | itc_diff = -itc_diff; | 431 | itc_diff = -itc_diff; |
433 | 432 | ||
434 | expires = div64_64(itc_diff, cyc_per_usec); | 433 | expires = div64_u64(itc_diff, cyc_per_usec); |
435 | kt = ktime_set(0, 1000 * expires); | 434 | kt = ktime_set(0, 1000 * expires); |
436 | vcpu->arch.ht_active = 1; | 435 | vcpu->arch.ht_active = 1; |
437 | hrtimer_start(p_ht, kt, HRTIMER_MODE_ABS); | 436 | hrtimer_start(p_ht, kt, HRTIMER_MODE_ABS); |
diff --git a/arch/x86/kvm/i8254.c b/arch/x86/kvm/i8254.c index 361e31611276..4c943eabacc3 100644 --- a/arch/x86/kvm/i8254.c +++ b/arch/x86/kvm/i8254.c | |||
@@ -35,7 +35,7 @@ | |||
35 | #include "i8254.h" | 35 | #include "i8254.h" |
36 | 36 | ||
37 | #ifndef CONFIG_X86_64 | 37 | #ifndef CONFIG_X86_64 |
38 | #define mod_64(x, y) ((x) - (y) * div64_64(x, y)) | 38 | #define mod_64(x, y) ((x) - (y) * div64_u64(x, y)) |
39 | #else | 39 | #else |
40 | #define mod_64(x, y) ((x) % (y)) | 40 | #define mod_64(x, y) ((x) % (y)) |
41 | #endif | 41 | #endif |
@@ -60,8 +60,8 @@ static u64 muldiv64(u64 a, u32 b, u32 c) | |||
60 | rl = (u64)u.l.low * (u64)b; | 60 | rl = (u64)u.l.low * (u64)b; |
61 | rh = (u64)u.l.high * (u64)b; | 61 | rh = (u64)u.l.high * (u64)b; |
62 | rh += (rl >> 32); | 62 | rh += (rl >> 32); |
63 | res.l.high = div64_64(rh, c); | 63 | res.l.high = div64_u64(rh, c); |
64 | res.l.low = div64_64(((mod_64(rh, c) << 32) + (rl & 0xffffffff)), c); | 64 | res.l.low = div64_u64(((mod_64(rh, c) << 32) + (rl & 0xffffffff)), c); |
65 | return res.ll; | 65 | return res.ll; |
66 | } | 66 | } |
67 | 67 | ||
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index 57ac4e4c556a..36809d79788b 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c | |||
@@ -25,13 +25,13 @@ | |||
25 | #include <linux/hrtimer.h> | 25 | #include <linux/hrtimer.h> |
26 | #include <linux/io.h> | 26 | #include <linux/io.h> |
27 | #include <linux/module.h> | 27 | #include <linux/module.h> |
28 | #include <linux/math64.h> | ||
28 | #include <asm/processor.h> | 29 | #include <asm/processor.h> |
29 | #include <asm/msr.h> | 30 | #include <asm/msr.h> |
30 | #include <asm/page.h> | 31 | #include <asm/page.h> |
31 | #include <asm/current.h> | 32 | #include <asm/current.h> |
32 | #include <asm/apicdef.h> | 33 | #include <asm/apicdef.h> |
33 | #include <asm/atomic.h> | 34 | #include <asm/atomic.h> |
34 | #include <asm/div64.h> | ||
35 | #include "irq.h" | 35 | #include "irq.h" |
36 | 36 | ||
37 | #define PRId64 "d" | 37 | #define PRId64 "d" |
@@ -526,8 +526,8 @@ static u32 apic_get_tmcct(struct kvm_lapic *apic) | |||
526 | } else | 526 | } else |
527 | passed = ktime_sub(now, apic->timer.last_update); | 527 | passed = ktime_sub(now, apic->timer.last_update); |
528 | 528 | ||
529 | counter_passed = div64_64(ktime_to_ns(passed), | 529 | counter_passed = div64_u64(ktime_to_ns(passed), |
530 | (APIC_BUS_CYCLE_NS * apic->timer.divide_count)); | 530 | (APIC_BUS_CYCLE_NS * apic->timer.divide_count)); |
531 | 531 | ||
532 | if (counter_passed > tmcct) { | 532 | if (counter_passed > tmcct) { |
533 | if (unlikely(!apic_lvtt_period(apic))) { | 533 | if (unlikely(!apic_lvtt_period(apic))) { |