Lines 319-324
void __init kvmclock_init(void)
Link Here
|
319 |
printk(KERN_INFO "kvm-clock: Using msrs %x and %x", |
319 |
printk(KERN_INFO "kvm-clock: Using msrs %x and %x", |
320 |
msr_kvm_system_time, msr_kvm_wall_clock); |
320 |
msr_kvm_system_time, msr_kvm_wall_clock); |
321 |
|
321 |
|
|
|
322 |
pvclock_set_pvti_cpu0_va(hv_clock); |
323 |
|
322 |
if (kvm_para_has_feature(KVM_FEATURE_CLOCKSOURCE_STABLE_BIT)) |
324 |
if (kvm_para_has_feature(KVM_FEATURE_CLOCKSOURCE_STABLE_BIT)) |
323 |
pvclock_set_flags(PVCLOCK_TSC_STABLE_BIT); |
325 |
pvclock_set_flags(PVCLOCK_TSC_STABLE_BIT); |
324 |
|
326 |
|
Lines 366-379
int __init kvm_setup_vsyscall_timeinfo(void)
Link Here
|
366 |
vcpu_time = &hv_clock[cpu].pvti; |
368 |
vcpu_time = &hv_clock[cpu].pvti; |
367 |
flags = pvclock_read_flags(vcpu_time); |
369 |
flags = pvclock_read_flags(vcpu_time); |
368 |
|
370 |
|
369 |
if (!(flags & PVCLOCK_TSC_STABLE_BIT)) { |
|
|
370 |
put_cpu(); |
371 |
return 1; |
372 |
} |
373 |
|
374 |
pvclock_set_pvti_cpu0_va(hv_clock); |
375 |
put_cpu(); |
371 |
put_cpu(); |
376 |
|
372 |
|
|
|
373 |
if (!(flags & PVCLOCK_TSC_STABLE_BIT)) |
374 |
return 1; |
375 |
|
377 |
kvm_clock.archdata.vclock_mode = VCLOCK_PVCLOCK; |
376 |
kvm_clock.archdata.vclock_mode = VCLOCK_PVCLOCK; |
378 |
#endif |
377 |
#endif |
379 |
return 0; |
378 |
return 0; |
380 |
- |
|
|