qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH RFC 6/6] target-i386: make cpus childs of /machi


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH RFC 6/6] target-i386: make cpus childs of /machine
Date: Tue, 17 Apr 2012 10:46:14 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120312 Thunderbird/11.0

Am 17.04.2012 09:19, schrieb Paolo Bonzini:
> Il 17/04/2012 01:37, Igor Mammedov ha scritto:
>> From: Igor Mammedov <address@hidden>
>>
>> Signed-off-by: Igor Mammedov <address@hidden>
>> ---
>>  target-i386/helper.c |    4 ++++
>>  1 files changed, 4 insertions(+), 0 deletions(-)
>>
>> diff --git a/target-i386/helper.c b/target-i386/helper.c
>> index de7637c..1996b97 100644
>> --- a/target-i386/helper.c
>> +++ b/target-i386/helper.c
>> @@ -1134,6 +1134,7 @@ CPUX86State *cpu_x86_init(const char *cpu_model)
>>      X86CPU *cpu;
>>      CPUX86State *env;
>>      Error *errp = NULL;
>> +    char cpuname[8];
>>  
>>      cpu = X86_CPU(object_new(TYPE_X86_CPU));
>>      env = &cpu->env;
>> @@ -1146,6 +1147,9 @@ CPUX86State *cpu_x86_init(const char *cpu_model)
>>          }
>>      }
>>  
>> +    snprintf(cpuname, sizeof(cpuname), "cpu%d", env->cpuid_apic_id);
>> +    object_property_add_child(container_get("/machine"), cpuname, 
>> OBJECT(cpu), NULL);
>> +
>>      object_property_set_bool(OBJECT(cpu), true, "realized", &errp);
>>      if (errp) {
>>          object_delete(OBJECT(cpu));
> 
> I think the right name would be /machine/cpu[%d]/cpu.  The local APIC
> for example should reside under /machine/cpu[%d]/apic.

Depends on how we model the CPU, I was kinda waiting for feedback on that.

I would prefer /machine/cpu[%d], with the APIC being a child .../apic,
if possible. That however depends on how the device'ification of the CPU
for hotplug works out - issue being that the CPU is a cross-target base
class where we'd need to change its parent to something that's a device
for device_add, on a hot-pluggable bus (for now) and works for all targets.

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]