From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49846) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YBIO3-0000Jl-HW for qemu-devel@nongnu.org; Wed, 14 Jan 2015 02:29:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YBINx-0005Qi-RH for qemu-devel@nongnu.org; Wed, 14 Jan 2015 02:29:07 -0500 Received: from [59.151.112.132] (port=9353 helo=heian.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YBINx-0005Pc-05 for qemu-devel@nongnu.org; Wed, 14 Jan 2015 02:29:01 -0500 From: Zhu Guihua Date: Wed, 14 Jan 2015 15:27:23 +0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="y" Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH v3 0/7] cpu: add device_add foo-x86_64-cpu support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Zhu Guihua , tangchen@cn.fujitsu.com, guz.fnst@cn.fujitsu.com, isimatu.yasuaki@jp.fujitsu.com, anshul.makkar@profitbricks.com, chen.fan.fnst@cn.fujitsu.com, imammedo@redhat.com, afaerber@suse.de 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=EF=BC=8Calso 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. The is the first half of the previous series: [RFC V2 00/10] cpu: add device_add foo-x86_64-cpu and i386 cpu hot remove s= upport https://lists.nongnu.org/archive/html/qemu-devel/2014-08/msg04779.html --- Changelog since v2: -rebase on latest upstream. -add cpu instance finalize. Changelog since v1: -rebased on latest upstream. -introduce a help function to hide the access to icc_bus. -use a macro ACPI_ID_NOT_SET to replace the magic number(0xFFFFFFFF). 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 (5): 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 i386/cpu: add instance finalize callback cpus.c | 4 ++- exec.c | 32 ++++++++++++--------- hw/acpi/cpu_hotplug.c | 7 +++-- hw/cpu/icc_bus.c | 5 ++++ hw/i386/pc.c | 6 ---- hw/i386/pc_piix.c | 5 ++++ hw/i386/pc_q35.c | 5 ++++ hw/intc/apic_common.c | 3 +- include/hw/cpu/icc_bus.h | 2 ++ include/hw/i386/apic_internal.h | 3 ++ include/qom/cpu.h | 3 ++ monitor.c | 4 ++- qom/cpu.c | 2 ++ target-i386/cpu.c | 63 +++++++++++++++++++++++++++++++++++++= +--- target-i386/topology.h | 51 ++++++++++++++++++++++----------- 15 files changed, 150 insertions(+), 45 deletions(-) --=20 1.9.3