|
@@ -160,8 +160,12 @@ int kvm_register_clock(char *txt)
|
|
|
{
|
|
|
int cpu = smp_processor_id();
|
|
|
int low, high, ret;
|
|
|
- struct pvclock_vcpu_time_info *src = &hv_clock[cpu].pvti;
|
|
|
+ struct pvclock_vcpu_time_info *src;
|
|
|
+
|
|
|
+ if (!hv_clock)
|
|
|
+ return 0;
|
|
|
|
|
|
+ src = &hv_clock[cpu].pvti;
|
|
|
low = (int)__pa(src) | 1;
|
|
|
high = ((u64)__pa(src) >> 32);
|
|
|
ret = native_write_msr_safe(msr_kvm_system_time, low, high);
|
|
@@ -276,6 +280,9 @@ int __init kvm_setup_vsyscall_timeinfo(void)
|
|
|
struct pvclock_vcpu_time_info *vcpu_time;
|
|
|
unsigned int size;
|
|
|
|
|
|
+ if (!hv_clock)
|
|
|
+ return 0;
|
|
|
+
|
|
|
size = PAGE_ALIGN(sizeof(struct pvclock_vsyscall_time_info)*NR_CPUS);
|
|
|
|
|
|
preempt_disable();
|