[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [patch uq/master 5/9] kvm: synchronize state from cpu conte
From: |
Marcelo Tosatti |
Subject: |
[Qemu-devel] [patch uq/master 5/9] kvm: synchronize state from cpu context |
Date: |
Tue, 04 May 2010 09:45:23 -0300 |
User-agent: |
quilt/0.47-1 |
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>
Index: qemu/kvm-all.c
===================================================================
--- qemu.orig/kvm-all.c
+++ qemu/kvm-all.c
@@ -796,14 +796,22 @@ void kvm_flush_coalesced_mmio_buffer(voi
#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);
- [Qemu-devel] [patch uq/master 0/9] enable smp > 1 and related fixes, Marcelo Tosatti, 2010/05/04
- [Qemu-devel] [patch uq/master 5/9] kvm: synchronize state from cpu context,
Marcelo Tosatti <=
- [Qemu-devel] [patch uq/master 4/9] port qemu-kvm's on_vcpu code, Marcelo Tosatti, 2010/05/04
- [Qemu-devel] [patch uq/master 7/9] move stop/stopped CPU_COMMON fields after area zeroed by reset, Marcelo Tosatti, 2010/05/04
- [Qemu-devel] [patch uq/master 6/9] add cpu_is_stopped helper, Marcelo Tosatti, 2010/05/04
- [Qemu-devel] [patch uq/master 9/9] kvm: enable smp > 1, Marcelo Tosatti, 2010/05/04
- [Qemu-devel] [patch uq/master 3/9] standardize on qemu_cpu_kick for signalling cpu thread(s), Marcelo Tosatti, 2010/05/04
- [Qemu-devel] [patch uq/master 1/9] kvm: set cpu_single_env around KVM_RUN ioctl, Marcelo Tosatti, 2010/05/04
- [Qemu-devel] [patch uq/master 2/9] make SIG_IPI to tcg vcpu thread reliable, Marcelo Tosatti, 2010/05/04
- [Qemu-devel] [patch uq/master 8/9] kvm: validate context for kvm cpu get/put operations, Marcelo Tosatti, 2010/05/04
- [Qemu-devel] Re: [patch uq/master 0/9] enable smp > 1 and related fixes, Anthony Liguori, 2010/05/05