spin up a new cpu thread if not yet running. Signed-off-by: Glauber Costa <[EMAIL PROTECTED]> --- qemu/hw/acpi.c | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/qemu/hw/acpi.c b/qemu/hw/acpi.c index 5a6d1a8..e44c8b5 100644 --- a/qemu/hw/acpi.c +++ b/qemu/hw/acpi.c @@ -23,6 +23,9 @@ #include "qemu-timer.h" #include "sysemu.h" #include "i2c.h" #include "smbus.h" +#ifdef USE_KVM +#include "qemu-kvm.h" +#endif //#define DEBUG @@ -640,6 +643,19 @@ static void disable_processor(struct gpe void qemu_system_cpu_hot_add(int cpu, int state) { + CPUState *env; + + if ((state) && (!qemu_kvm_cpu_env(cpu))) { + env = pc_new_cpu(cpu, model, 1); + if (!env) { + fprintf(stderr, "cpu %d creation failed\n", cpu); + return; + } +#ifdef USE_KVM + kvm_init_new_ap(cpu, env); +#endif + } + qemu_set_irq(pm_state->irq, 1); gpe.up = 0; gpe.down = 0; -- 1.4.2