ping... On 11/13/2014 09:10 AM, Gu Zheng wrote:
> This series is based on the previous patchset from Chen Fan: > https://lists.nongnu.org/archive/html/qemu-devel/2014-05/msg02360.html > > We try to make cpu hotplug with device_add, and make > "-device foo-x86_64-cpu" availableļ¼also we can set apic-id > property with command line, if without setting apic-id property, > we offer the first unoccupied apic id as the default new apic id. > When hotplug cpu with device_add, additional check of APIC ID will be > done after cpu object initialization which was different from > 'cpu_add' command that check 'ids' at the beginning. > > --- > Changelog since RFC: > -split out APIC vmstate/QMP-monitor changes into separate patches. > -add the handle of the startup cpus(-device foo). > -remove duplicated checking about env->cpuid_apic_id. > -do actual APIC ID allocation at realize time if it is not set before. > -remove the unneeded x86_cpu_cpudef_instance_init(). > -split off device_del support out here. > --- > > Chen Fan (2): > cpu: introduce CpuTopoInfo structure for argument simplification > cpu: add device_add foo-x86_64-cpu support > > Gu Zheng (4): > qom/cpu: move register_vmstate to common CPUClass.realizefn > qom/cpu: move apic vmstate register into x86_cpu_apic_realize > monitor: use cc->get_arch_id as the cpu index > acpi:cpu hotplug: set pcmachine as icc bus' hotplug handler > > cpus.c | 4 ++- > exec.c | 32 +++++++++++++--------- > hw/acpi/cpu_hotplug.c | 5 +++- > hw/cpu/icc_bus.c | 15 ----------- > hw/i386/pc.c | 6 ---- > hw/i386/pc_piix.c | 6 +++- > hw/i386/pc_q35.c | 5 +++ > hw/intc/apic_common.c | 3 +- > include/hw/cpu/icc_bus.h | 14 ++++++++++ > include/hw/i386/apic_internal.h | 3 ++ > include/qom/cpu.h | 2 + > monitor.c | 4 ++- > qom/cpu.c | 2 + > target-i386/cpu.c | 54 +++++++++++++++++++++++++++++++++++--- > target-i386/topology.h | 51 +++++++++++++++++++++++++----------- > 15 files changed, 145 insertions(+), 61 deletions(-) >