On 02/16/2012 05:25 AM, Jan Kiszka wrote:
On 2012-02-16 00:16, Igor Mammedov wrote:
Introduce a new structure CPUS as the controller of ICC (INTERRUPT
CONTROLLER COMMUNICATIONS), and new bus "ICC" to hold APIC,instead
of sysbus. So we can support APIC hot-plug feature.
This is repost of original patch for qemu-kvm rebased on current qemu:
http://lists.nongnu.org/archive/html/qemu-devel/2011-11/msg01478.html
All credits to Liu Ping Fan for writing it.
V2 changes:
- cpusockets_init: cpu_sockets is not yet initialized, use cpus that
we got as input param instead for qbus_create, this makes cpus
apics visible in "info qtree" monitor command
- fix format error spotted by Jan and missed by checkpatch
- cpu_has_apic_feature: return bool instead of int
This patch surely no longer applies. And the ICC requires QOM conversion.
Also, post-QOM, I don't think having an ICC bus makes a whole lot of sense.
The LAPIC can be made a child of the CPU device with a bidirectional link.
I would simply create a fixed set of CPU links<> hung off of /devices somewhere
and use that as the hotplug mechanism. This matches well the way we model this
to the guest (we expose a fixed number of pluggable sockets).
Regards,
Anthony Liguori
Jan