xemu/hw/i386
Vitaly Kuznetsov 8700a98443 target/i386: always create kvmclock device
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>
2020-09-30 19:11:36 +02:00
..
kvm target/i386: always create kvmclock device 2020-09-30 19:11:36 +02:00
xen hw/xen: Split x86-specific declaration from generic hardware ones 2020-09-30 19:11:36 +02:00
acpi-build.c acpi: i386: Move VMBus DSDT entry to SB 2020-09-30 19:09:20 +02:00
acpi-build.h nvdimm: Use configurable ACPI IO base and size 2020-05-04 10:25:02 -04:00
acpi-common.c acpi: madt: skip pci override on pci-less systems. 2020-06-12 10:17:06 -04:00
acpi-common.h acpi: madt: skip pci override on pci-less systems. 2020-06-12 10:17:06 -04:00
acpi-microvm.c x86: move acpi_dev from pc/microvm 2020-09-17 14:16:19 +02:00
acpi-microvm.h microvm/acpi: add minimal acpi support 2020-09-17 14:16:19 +02:00
amd_iommu.c x86-iommu: Rename QOM type macros 2020-09-02 07:29:25 -04:00
amd_iommu.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
e820_memory_layout.c hw/i386/pc: Extract e820 memory layout code 2019-09-16 17:13:07 +02:00
e820_memory_layout.h hw/i386/pc: Extract e820 memory layout code 2019-09-16 17:13:07 +02:00
fw_cfg.c meson: infrastructure for building emulators 2020-08-21 06:30:17 -04:00
fw_cfg.h acpi: factor out fw_cfg_add_acpi_dsdt() 2020-06-24 17:18:28 -04:00
generic_event_device_x86.c acpi: ged: add x86 device variant. 2020-09-17 14:16:19 +02:00
intel_iommu_internal.h intel_iommu: Use correct shift for 256 bits qi descriptor 2020-07-22 07:57:07 -04:00
intel_iommu.c x86-iommu: Rename QOM type macros 2020-09-02 07:29:25 -04:00
Kconfig microvm/acpi: add minimal acpi support 2020-09-17 14:16:19 +02:00
kvmvapic.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
meson.build microvm/acpi: add minimal acpi support 2020-09-17 14:16:19 +02:00
microvm.c target/i386: always create kvmclock device 2020-09-30 19:11:36 +02:00
multiboot.c hw/core/loader: Let load_elf() populate a field with CPU-specific flags 2020-01-29 19:28:52 +01:00
multiboot.h refer to FWCfgState explicitly 2013-06-02 18:14:02 +03:00
pc_piix.c target/i386: always create kvmclock device 2020-09-30 19:11:36 +02:00
pc_q35.c target/i386: always create kvmclock device 2020-09-30 19:11:36 +02:00
pc_sysfw.c * Make checkpatch say 'qemu' instead of 'kernel' (Aleksandar) 2020-07-11 16:52:24 +01:00
pc.c target/i386: always create kvmclock device 2020-09-30 19:11:36 +02:00
port92.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
trace-events hw/i386/pc: Extract the port92 device 2019-12-17 19:33:51 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vmmouse.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
vmport.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
x86-iommu-stub.c hw/i386/x86-iommu: Add missing stubs 2020-01-09 11:41:25 +00:00
x86-iommu.c x86-iommu: Rename QOM type macros 2020-09-02 07:29:25 -04:00
x86.c x86: cpuhp: prevent guest crash on CPU hotplug when broadcast SMI is in use 2020-09-29 02:15:24 -04:00