[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 06/12] kvm: synchronize state from cpu context
From: |
Marcelo Tosatti |
Subject: |
[Qemu-devel] [PATCH 06/12] kvm: synchronize state from cpu context |
Date: |
Wed, 12 May 2010 18:25:00 -0300 |
From: Jan Kiszka <address@hidden>
It is not safe to retrieve the KVM internal state of a given cpu
while its potentially modifying it.
Queue the request to run on cpu context, similarly to qemu-kvm.
Signed-off-by: Marcelo Tosatti <address@hidden>
Signed-off-by: Avi Kivity <address@hidden>
---
kvm-all.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/kvm-all.c b/kvm-all.c
index fbd084c..e766202 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -796,14 +796,22 @@ void kvm_flush_coalesced_mmio_buffer(void)
#endif
}
-void kvm_cpu_synchronize_state(CPUState *env)
+static void do_kvm_cpu_synchronize_state(void *_env)
{
+ CPUState *env = _env;
+
if (!env->kvm_vcpu_dirty) {
kvm_arch_get_registers(env);
env->kvm_vcpu_dirty = 1;
}
}
+void kvm_cpu_synchronize_state(CPUState *env)
+{
+ if (!env->kvm_vcpu_dirty)
+ run_on_cpu(env, do_kvm_cpu_synchronize_state, env);
+}
+
void kvm_cpu_synchronize_post_reset(CPUState *env)
{
kvm_arch_put_registers(env, KVM_PUT_RESET_STATE);
--
1.6.6.1
- [Qemu-devel] Re: [PATCH 10/12] kvm: enable smp > 1, (continued)
[Qemu-devel] [PATCH 01/12] Fix -mem-path with hugetlbfs, Marcelo Tosatti, 2010/05/12
[Qemu-devel] [PATCH 11/12] Do not stop VM if emulation failed in userspace., Marcelo Tosatti, 2010/05/12
[Qemu-devel] [PATCH 03/12] make SIG_IPI to tcg vcpu thread reliable, Marcelo Tosatti, 2010/05/12
[Qemu-devel] [PATCH 07/12] add cpu_is_stopped helper, Marcelo Tosatti, 2010/05/12
[Qemu-devel] [PATCH 02/12] kvm: set cpu_single_env around KVM_RUN ioctl, Marcelo Tosatti, 2010/05/12
[Qemu-devel] [PATCH 09/12] kvm: validate context for kvm cpu get/put operations, Marcelo Tosatti, 2010/05/12
[Qemu-devel] [PATCH 05/12] port qemu-kvm's on_vcpu code, Marcelo Tosatti, 2010/05/12
[Qemu-devel] [PATCH 06/12] kvm: synchronize state from cpu context,
Marcelo Tosatti <=
[Qemu-devel] [PATCH 04/12] standardize on qemu_cpu_kick for signalling cpu thread(s), Marcelo Tosatti, 2010/05/12
Re: [Qemu-devel] [PATCH 00/12] [PULL] qemu-kvm.git uq/master queue, Anthony Liguori, 2010/05/17