From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:44810) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SX1wf-0000KF-K7 for qemu-devel@nongnu.org; Tue, 22 May 2012 23:09:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SX1wc-0005aE-Gh for qemu-devel@nongnu.org; Tue, 22 May 2012 23:09:05 -0400 Received: from cantor2.suse.de ([195.135.220.15]:35556 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SX1wc-0005ZW-8N for qemu-devel@nongnu.org; Tue, 22 May 2012 23:09:02 -0400 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Wed, 23 May 2012 05:07:27 +0200 Message-Id: <1337742502-28565-5-git-send-email-afaerber@suse.de> In-Reply-To: <1337742502-28565-1-git-send-email-afaerber@suse.de> References: <1337742502-28565-1-git-send-email-afaerber@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH qom-next 04/59] pc: Add CPU as /machine/cpu[n] List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Anthony Liguori , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Igor Mammedov Using the cpu_index, give the X86CPU a canonical path. This must be done before initializing the APIC. Signed-off-by: Igor Mammedov Signed-off-by: Andreas F=C3=A4rber --- hw/pc.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/hw/pc.c b/hw/pc.c index 4167782..e9d7e05 100644 --- a/hw/pc.c +++ b/hw/pc.c @@ -945,6 +945,8 @@ static X86CPU *pc_new_cpu(const char *cpu_model) { X86CPU *cpu; CPUX86State *env; + char *name; + Error *error =3D NULL; =20 cpu =3D cpu_x86_init(cpu_model); if (cpu =3D=3D NULL) { @@ -952,6 +954,16 @@ static X86CPU *pc_new_cpu(const char *cpu_model) exit(1); } env =3D &cpu->env; + + name =3D g_strdup_printf("cpu[%d]", env->cpu_index); + object_property_add_child(OBJECT(qdev_get_machine()), name, + OBJECT(cpu), &error); + g_free(name); + if (error_is_set(&error)) { + qerror_report_err(error); + exit(1); + } + if ((env->cpuid_features & CPUID_APIC) || smp_cpus > 1) { env->apic_state =3D apic_init(env, env->cpuid_apic_id); } --=20 1.7.7