[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
Re: [Qemu-devel] [PATCH RFC 6/6] target-i386: make cpus childs of /machine
Mon, 21 May 2012 16:50:22 +0200
Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1
On 05/10/2012 01:15 AM, Andreas Färber wrote:
Am 17.04.2012 12:28, schrieb Igor Mammedov:
----- Original Message -----
From: "Andreas Färber"<address@hidden>
I think the right name would be /machine/cpu[%d]/cpu. The local
for example should reside under /machine/cpu[%d]/apic.
Depends on how we model the CPU, I was kinda waiting for feedback on
I would prefer /machine/cpu[%d], with the APIC being a child
if possible. That however depends on how the device'ification of the
Ok, I'll change /machine/cpu%d to /machine/cpu[%d].
Note that I needed a similar patch recently in my quest to move fields
from CPU_COMMON into CPUState:
I chose to do it in pc.c instead because for other architectures the
placement will be a machine-specific decision.
I'm trying to re-base your commit on top of this series and doing it at board
might be a problem if you think about doing hotplug in generalized way:
1. create new obj instance for cpu
2. set properties 'might include setting apic with its creation'
3. realize obj instance
would it better to split name and cpu creation into 2 stages:
- at board level: create links for all possible cpus
- in target-XXX/cpu.c:XXX_cpu_initfn set appropriate link to itself (1)
and than any property that might need canonical path could be set in general
Of cause this scheme is screwed up by the fact that there isn't canonical
path for links (cpu[xxx]). Any thoughts how to deal with it?
- Can we use object_property_add_child at runtime to add new cpu to /machine,
instead of link?
I've used cpu_index, but it seems cpuid_apic_id is assigned only once,
from cpu_index, so it should be identical. What's the difference?
Once Jan voiced that user visible cpu id, should be apic_id in context of cpu
(i.e. when doing: device_add xxx_cpu,id=12345,...)
"Jan, please correct me if I've got you wrong."
So QOM tree probably should reflect this id and not cpu_index.
However cpu_index and apic_id are the same now and bios assumes it as well.
What are possible benefits of using cpuid_apic_id != cpu_index for qemu?