From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:34448) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RxoNw-0005V3-TH for qemu-devel@nongnu.org; Wed, 15 Feb 2012 18:35:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RxoNv-0003ab-QP for qemu-devel@nongnu.org; Wed, 15 Feb 2012 18:35:40 -0500 Received: from mail-pw0-f45.google.com ([209.85.160.45]:35455) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RxoNv-0003aR-JD for qemu-devel@nongnu.org; Wed, 15 Feb 2012 18:35:39 -0500 Received: by pbbro12 with SMTP id ro12so2197678pbb.4 for ; Wed, 15 Feb 2012 15:35:38 -0800 (PST) Message-ID: <4F3C4146.1000905@codemonkey.ws> Date: Wed, 15 Feb 2012 17:35:34 -0600 From: Anthony Liguori MIME-Version: 1.0 References: <1329347774-23262-1-git-send-email-imammedo@redhat.com> <1329347774-23262-8-git-send-email-imammedo@redhat.com> In-Reply-To: <1329347774-23262-8-git-send-email-imammedo@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 7/7] Implement cpu hot-add using device_add monitor command List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Igor Mammedov Cc: jan.kiszka@siemens.com, qemu-devel@nongnu.org, gleb@redhat.com On 02/15/2012 05:16 PM, Igor Mammedov wrote: > Adds ability to hot-add cpus if guest was started with options > -smp X,maxcpus=Y > where X< Y. > For simplicity sake this implementation doesn't allow to add specific > cpu but rather it adds the next not yet plugged cpu. > > For adding cpu just execute following command in monitor: > device_add cpu-pc > If guest was started with a specific cpu model, then add option model > to cmonitor command. for example: > device_add cpu-pc,model="host" > > Signed-off-by: Igor Mammedov I don't see how the code matches this description, but unless you've got qdev-ification patches in the earlier ones (haven't made the list yet), device_add is not the right place for this. There's no such thing as "cpu-pc" either. You should start with a cpu_add command. Regards, Anthony Liguori > --- > hw/pc.c | 11 +++++++++++ > 1 files changed, 11 insertions(+), 0 deletions(-) > > diff --git a/hw/pc.c b/hw/pc.c > index ec50f16..5923549 100644 > --- a/hw/pc.c > +++ b/hw/pc.c > @@ -44,6 +44,8 @@ > #include "ui/qemu-spice.h" > #include "memory.h" > #include "exec-memory.h" > +#include "cpus.h" > +#include "kvm.h" > > /* output Bochs bios info messages */ > //#define DEBUG_BIOS > @@ -941,6 +943,10 @@ static int cpu_device_init(ICCBusDevice *dev) > #endif > } > > + if (runstate_is_running()) { > + pause_all_vcpus(); > + } > + > if (cpu_x86_init_inplace(env, cpu->model)< 0) { > return -1; > } > @@ -949,6 +955,11 @@ static int cpu_device_init(ICCBusDevice *dev) > env->apic_state = apic_init(env, env->cpuid_apic_id); > } > > + cpu_synchronize_post_init(env); > + if (runstate_is_running()) { > + resume_all_vcpus(); > + acpi_cpu_hot_plug(env->cpuid_apic_id, 1); > + } > return 0; > } >