mirror of https://github.com/xemu-project/xemu.git
kvm: i386: require KVM_CAP_ADJUST_CLOCK
This was introduced in KVM in Linux 2.6.33, we can require it unconditionally. KVM_CLOCK_TSC_STABLE was only added in Linux 4.9, for now do not require it (though it would allow the removal of some pretty yucky code). Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
86f2438fc2
commit
700766ba60
|
@ -333,10 +333,6 @@ void kvmclock_create(bool create_always)
|
||||||
X86CPU *cpu = X86_CPU(first_cpu);
|
X86CPU *cpu = X86_CPU(first_cpu);
|
||||||
|
|
||||||
assert(kvm_enabled());
|
assert(kvm_enabled());
|
||||||
if (!kvm_has_adjust_clock()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (create_always ||
|
if (create_always ||
|
||||||
cpu->env.features[FEAT_KVM] & ((1ULL << KVM_FEATURE_CLOCKSOURCE) |
|
cpu->env.features[FEAT_KVM] & ((1ULL << KVM_FEATURE_CLOCKSOURCE) |
|
||||||
(1ULL << KVM_FEATURE_CLOCKSOURCE2))) {
|
(1ULL << KVM_FEATURE_CLOCKSOURCE2))) {
|
||||||
|
|
|
@ -98,6 +98,7 @@ const KVMCapabilityInfo kvm_arch_required_capabilities[] = {
|
||||||
KVM_CAP_INFO(VCPU_EVENTS),
|
KVM_CAP_INFO(VCPU_EVENTS),
|
||||||
KVM_CAP_INFO(X86_ROBUST_SINGLESTEP),
|
KVM_CAP_INFO(X86_ROBUST_SINGLESTEP),
|
||||||
KVM_CAP_INFO(MCE),
|
KVM_CAP_INFO(MCE),
|
||||||
|
KVM_CAP_INFO(ADJUST_CLOCK),
|
||||||
KVM_CAP_LAST_INFO
|
KVM_CAP_LAST_INFO
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -177,11 +178,6 @@ bool kvm_has_adjust_clock_stable(void)
|
||||||
return (ret & KVM_CLOCK_TSC_STABLE);
|
return (ret & KVM_CLOCK_TSC_STABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kvm_has_adjust_clock(void)
|
|
||||||
{
|
|
||||||
return kvm_check_extension(kvm_state, KVM_CAP_ADJUST_CLOCK);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool kvm_has_exception_payload(void)
|
bool kvm_has_exception_payload(void)
|
||||||
{
|
{
|
||||||
return has_exception_payload;
|
return has_exception_payload;
|
||||||
|
|
|
@ -50,7 +50,6 @@ void kvm_request_xsave_components(X86CPU *cpu, uint64_t mask);
|
||||||
|
|
||||||
#ifdef CONFIG_KVM
|
#ifdef CONFIG_KVM
|
||||||
|
|
||||||
bool kvm_has_adjust_clock(void);
|
|
||||||
bool kvm_has_adjust_clock_stable(void);
|
bool kvm_has_adjust_clock_stable(void);
|
||||||
bool kvm_has_exception_payload(void);
|
bool kvm_has_exception_payload(void);
|
||||||
void kvm_synchronize_all_tsc(void);
|
void kvm_synchronize_all_tsc(void);
|
||||||
|
|
Loading…
Reference in New Issue