[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/2] kvm: Rework VCPU reset
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] [PATCH 2/2] kvm: Rework VCPU reset |
Date: |
Sun, 19 Apr 2009 11:54:13 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
Use standard callback with highest order to synchronize VCPU on reset
after all device callbacks were execute. This allows to remove the
special kvm hook in qemu_system_reset.
Signed-off-by: Jan Kiszka <address@hidden>
---
kvm-all.c | 8 ++++++++
vl.c | 2 --
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/kvm-all.c b/kvm-all.c
index 9e9b462..1128bee 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"
@@ -321,6 +322,11 @@ int kvm_uncoalesce_mmio_region(target_phys_addr_t start,
ram_addr_t size)
return ret;
}
+static void kvm_reset_vcpus(void *opaque)
+{
+ kvm_sync_vcpus();
+}
+
int kvm_init(int smp_cpus)
{
KVMState *s;
@@ -411,6 +417,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 4a064bf..3cf8331 100644
--- a/vl.c
+++ b/vl.c
@@ -3627,8 +3627,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)
signature.asc
Description: OpenPGP digital signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [PATCH 2/2] kvm: Rework VCPU reset,
Jan Kiszka <=