summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kvm-all.c8
-rw-r--r--vl.c2
2 files changed, 8 insertions, 2 deletions
diff --git a/kvm-all.c b/kvm-all.c
index eb4b9eab82..c9f09c7e18 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -22,6 +22,7 @@
#include "qemu-common.h"
#include "sysemu.h"
+#include "hw/hw.h"
#include "gdbstub.h"
#include "kvm.h"
@@ -376,6 +377,11 @@ int kvm_check_extension(KVMState *s, unsigned int extension)
return ret;
}
+static void kvm_reset_vcpus(void *opaque)
+{
+ kvm_sync_vcpus();
+}
+
int kvm_init(int smp_cpus)
{
KVMState *s;
@@ -462,6 +468,8 @@ int kvm_init(int smp_cpus)
if (ret < 0)
goto err;
+ qemu_register_reset(kvm_reset_vcpus, INT_MAX, NULL);
+
kvm_state = s;
return 0;
diff --git a/vl.c b/vl.c
index 9d7ee7adc7..2c1f0e0bd2 100644
--- a/vl.c
+++ b/vl.c
@@ -3659,8 +3659,6 @@ void qemu_system_reset(void)
for(re = first_reset_entry; re != NULL; re = re->next) {
re->func(re->opaque);
}
- if (kvm_enabled())
- kvm_sync_vcpus();
}
void qemu_system_reset_request(void)