mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 12:07:31 +00:00 
			
		
		
		
	 8700a98443
			
		
	
	
		8700a98443
		
	
	
	
	
		
			
			QEMU's kvmclock device is only created when KVM PV feature bits for kvmclock (KVM_FEATURE_CLOCKSOURCE/KVM_FEATURE_CLOCKSOURCE2) are exposed to the guest. With 'kvm=off' cpu flag the device is not created and we don't call KVM_GET_CLOCK/KVM_SET_CLOCK upon migration. It was reported that without these call at least Hyper-V TSC page clocksouce (which can be enabled independently) gets broken after migration. Switch to creating kvmclock QEMU device unconditionally, it seems to always make sense to call KVM_GET_CLOCK/KVM_SET_CLOCK on migration. Use KVM_CAP_ADJUST_CLOCK check instead of CPUID feature bits. Reported-by: Antoine Damhet <antoine.damhet@blade-group.com> Suggested-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Message-Id: <20200922151934.899555-1-vkuznets@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
		
			
				
	
	
		
			29 lines
		
	
	
		
			500 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			500 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * QEMU KVM support, paravirtual clock device
 | |
|  *
 | |
|  * Copyright (C) 2011 Siemens AG
 | |
|  *
 | |
|  * Authors:
 | |
|  *  Jan Kiszka        <jan.kiszka@siemens.com>
 | |
|  *
 | |
|  * This work is licensed under the terms of the GNU GPL version 2.
 | |
|  * See the COPYING file in the top-level directory.
 | |
|  */
 | |
| 
 | |
| #ifndef HW_KVM_CLOCK_H
 | |
| #define HW_KVM_CLOCK_H
 | |
| 
 | |
| #ifdef CONFIG_KVM
 | |
| 
 | |
| void kvmclock_create(bool create_always);
 | |
| 
 | |
| #else /* CONFIG_KVM */
 | |
| 
 | |
| static inline void kvmclock_create(bool create_always)
 | |
| {
 | |
| }
 | |
| 
 | |
| #endif /* !CONFIG_KVM */
 | |
| 
 | |
| #endif
 |