[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 05/12] target-i386: push hot-plugged VCPU state
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH 05/12] target-i386: push hot-plugged VCPU state to KVM and unstop it |
Date: |
Wed, 27 Mar 2013 16:16:24 +0100 |
On Wed, 27 Mar 2013 15:30:30 +0100
Andreas Färber <address@hidden> wrote:
> Am 27.03.2013 14:27, schrieb Igor Mammedov:
> > On Wed, 27 Mar 2013 13:17:45 +0100
> > Andreas Färber <address@hidden> wrote:
> >>> Then I should move following parts to superclass:
> >>>
> >>> if (dev->hotplugged) {
> >>> cpu_synchronize_post_init(env);
> >>> resume_vcpu(CPU(cpu));
> >>> }
> >>>
> >>> because in case of KVM we should make sure that CPU in sane state before
> >>> allowing CPU to become run-able.
> >>
> >> That's not possible until we change cpu_synchronize_post_init() argument
> >> to CPUState, which is somewhere down my TODO list. Currently I have
> >> mostly flushed my refactorings out, so if you wanted to dive into that,
> >> that would be appreciated. :)
> >
> > Would something like this be acceptable?
> > ---
> > From 15502168009b7b5ae2b46d854c461e5ad031cdc6 Mon Sep 17 00:00:00 2001
> > From: Igor Mammedov <address@hidden>
> > Date: Wed, 27 Mar 2013 14:21:20 +0100
> > Subject: [PATCH] cpu: Pass CPUState to *cpu_synchronize_post*()
> >
> > Signed-off-by: Igor Mammedov <address@hidden>
> > ---
> > cpus.c | 4 ++--
> > include/sysemu/kvm.h | 12 ++++++------
> > kvm-all.c | 8 ++------
> > kvm-stub.c | 4 ++--
> > 4 files changed, 12 insertions(+), 16 deletions(-)
>
> Looks good so far, did you grep for further occurrences?
yep, I re-factored every *cpu_synchronize_post*() call,
but considering an intention to call cpu_synchronize_post_init() from
qom/cpu.c this patch won't work nice since it will pull with itself
kvm-stub.o to *-user target.
Due to qom/cpu.c is built only once for both softmmu and *-user targets, I
consider to move cpu_synchronize_post_init() & cpu_synchronize_post_reset()
from include/sysemu/kvm.h into include/sysemu/cpus.h with definition moved
into cpus.c + stubs for cpu_synchronize_post_init() &resume_vcpu() in
libqemustub for *-user target.
Adding stubs to libqemustub could be avoided if resume_vcpu() and
cpu_synchronize_post_init() are called from x86_cpu_realizefn()
at the cost of some ifdeffenery in include/sysemu/cpus.h though.
But moving resume_vcpu() & cpu_synchronize_post_init() into qom/cpu.c looks
like good candidate for being reused by other targets.
Paolo,
would it be acceptable to add resume_vcpu() & cpu_synchronize_post_init()
stubs into libqemustub?
> Andreas
>
- Re: [Qemu-devel] [PATCH 01/12] target-i386: consolidate error propagation in x86_cpu_realizefn(), (continued)
- [Qemu-devel] [PATCH 03/12] target-i386: split out CPU creation and features parsing into cpu_x86_create(), Igor Mammedov, 2013/03/21
- [Qemu-devel] [PATCH 02/12] target-i386: split APIC creation from initialization in x86_cpu_realizefn(), Igor Mammedov, 2013/03/21
- [Qemu-devel] [PATCH 04/12] target-i386: introduce apic-id property, Igor Mammedov, 2013/03/21
- [Qemu-devel] [PATCH 05/12] target-i386: push hot-plugged VCPU state to KVM and unstop it, Igor Mammedov, 2013/03/21
- Re: [Qemu-devel] [PATCH 05/12] target-i386: push hot-plugged VCPU state to KVM and unstop it, Paolo Bonzini, 2013/03/27
- Re: [Qemu-devel] [PATCH 05/12] target-i386: push hot-plugged VCPU state to KVM and unstop it, Igor Mammedov, 2013/03/27
- Re: [Qemu-devel] [PATCH 05/12] target-i386: push hot-plugged VCPU state to KVM and unstop it, Andreas Färber, 2013/03/27
- Re: [Qemu-devel] [PATCH 05/12] target-i386: push hot-plugged VCPU state to KVM and unstop it, Igor Mammedov, 2013/03/27
- Re: [Qemu-devel] [PATCH 05/12] target-i386: push hot-plugged VCPU state to KVM and unstop it, Andreas Färber, 2013/03/27
- Re: [Qemu-devel] [PATCH 05/12] target-i386: push hot-plugged VCPU state to KVM and unstop it,
Igor Mammedov <=
- Re: [Qemu-devel] [PATCH 05/12] target-i386: push hot-plugged VCPU state to KVM and unstop it, Paolo Bonzini, 2013/03/27
- Re: [Qemu-devel] [PATCH 05/12] target-i386: push hot-plugged VCPU state to KVM and unstop it, Igor Mammedov, 2013/03/27
- [Qemu-devel] [PATCH 05/14] cpu: Pass CPUState to *cpu_synchronize_post*(), Igor Mammedov, 2013/03/27
- [Qemu-devel] [PATCH 06/14] cpu: call cpu_synchronize_post_init() from CPUClass.realize() if hotplugged, Igor Mammedov, 2013/03/27
- [Qemu-devel] [PATCH 07/14] cpu: introduce CPUClass.resume() method, Igor Mammedov, 2013/03/27
[Qemu-devel] [PATCH 07/12] target-i386: Add ICC_BUS and attach apic, kvmvapic and cpu to it, Igor Mammedov, 2013/03/21