Revision 384331a6
b/target-i386/kvm.c | ||
---|---|---|
817 | 817 |
kvm_msr_entry_set(&msrs[n++], MSR_LSTAR, env->lstar); |
818 | 818 |
#endif |
819 | 819 |
if (level == KVM_PUT_FULL_STATE) { |
820 |
kvm_msr_entry_set(&msrs[n++], MSR_IA32_TSC, env->tsc); |
|
820 |
/* |
|
821 |
* KVM is yet unable to synchronize TSC values of multiple VCPUs on |
|
822 |
* writeback. Until this is fixed, we only write the offset to SMP |
|
823 |
* guests after migration, desynchronizing the VCPUs, but avoiding |
|
824 |
* huge jump-backs that would occur without any writeback at all. |
|
825 |
*/ |
|
826 |
if (smp_cpus == 1 || env->tsc != 0) { |
|
827 |
kvm_msr_entry_set(&msrs[n++], MSR_IA32_TSC, env->tsc); |
|
828 |
} |
|
821 | 829 |
kvm_msr_entry_set(&msrs[n++], MSR_KVM_SYSTEM_TIME, |
822 | 830 |
env->system_time_msr); |
823 | 831 |
kvm_msr_entry_set(&msrs[n++], MSR_KVM_WALL_CLOCK, env->wall_clock_msr); |
Also available in: Unified diff