afd495b342
- kvm-target-i386-kvm-fix-kvmclock_current_nsec-Assertion-.patch [bz#2108531] - Resolves: bz#2108531 (Windows guest reboot after migration with wsl2 installed inside)
61 lines
2.2 KiB
Diff
61 lines
2.2 KiB
Diff
From f141182484fca38685cb246f77e311643cd2f4c7 Mon Sep 17 00:00:00 2001
|
|
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
|
Date: Fri, 7 Oct 2022 13:56:02 +0200
|
|
Subject: [PATCH] target/i386/kvm: fix kvmclock_current_nsec: Assertion
|
|
`time.tsc_timestamp <= migration_tsc' failed
|
|
|
|
RH-Author: Vitaly Kuznetsov <vkuznets@redhat.com>
|
|
RH-MergeRequest: 120: target/i386/kvm: fix kvmclock_current_nsec: Assertion `time.tsc_timestamp <= migration_tsc' failed
|
|
RH-Bugzilla: 2108531
|
|
RH-Acked-by: Marcelo Tosatti <None>
|
|
RH-Acked-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
|
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
RH-Commit: [1/1] edc5bb2578f7f31ab4d87e343925f6f08e812c29 (vkuznets/qemu-kvm-c9s)
|
|
|
|
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2108531
|
|
|
|
commit c4ef867f2949bf2a2ae18a4e27cf1a34bbc8aecb
|
|
Author: Ray Zhang <zhanglei002@gmail.com>
|
|
Date: Thu Sep 22 18:05:23 2022 +0800
|
|
|
|
target/i386/kvm: fix kvmclock_current_nsec: Assertion `time.tsc_timestamp <= migration_tsc' failed
|
|
|
|
New KVM_CLOCK flags were added in the kernel.(c68dc1b577eabd5605c6c7c08f3e07ae18d30d5d)
|
|
```
|
|
+ #define KVM_CLOCK_VALID_FLAGS \
|
|
+ (KVM_CLOCK_TSC_STABLE | KVM_CLOCK_REALTIME | KVM_CLOCK_HOST_TSC)
|
|
|
|
case KVM_CAP_ADJUST_CLOCK:
|
|
- r = KVM_CLOCK_TSC_STABLE;
|
|
+ r = KVM_CLOCK_VALID_FLAGS;
|
|
```
|
|
|
|
kvm_has_adjust_clock_stable needs to handle additional flags,
|
|
so that s->clock_is_reliable can be true and kvmclock_current_nsec doesn't need to be called.
|
|
|
|
Signed-off-by: Ray Zhang <zhanglei002@gmail.com>
|
|
Message-Id: <20220922100523.2362205-1-zhanglei002@gmail.com>
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
|
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
|
|
---
|
|
target/i386/kvm/kvm.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
|
|
index a9eba247a5..ba98b99d8f 100644
|
|
--- a/target/i386/kvm/kvm.c
|
|
+++ b/target/i386/kvm/kvm.c
|
|
@@ -157,7 +157,7 @@ bool kvm_has_adjust_clock_stable(void)
|
|
{
|
|
int ret = kvm_check_extension(kvm_state, KVM_CAP_ADJUST_CLOCK);
|
|
|
|
- return (ret == KVM_CLOCK_TSC_STABLE);
|
|
+ return (ret & KVM_CLOCK_TSC_STABLE);
|
|
}
|
|
|
|
bool kvm_has_adjust_clock(void)
|
|
--
|
|
2.37.3
|
|
|