From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49528) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VTqLF-0006BX-9U for qemu-devel@nongnu.org; Wed, 09 Oct 2013 05:46:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VTqL7-0002FW-PN for qemu-devel@nongnu.org; Wed, 09 Oct 2013 05:46:05 -0400 Received: from [222.73.24.84] (port=31225 helo=song.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VTqL7-0002F4-Bt for qemu-devel@nongnu.org; Wed, 09 Oct 2013 05:45:57 -0400 From: Chen Fan Date: Wed, 9 Oct 2013 17:43:08 +0800 Message-Id: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [RFC qom-cpu v4 00/10] i386: add cpu hot remove support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Igor Mammedov , =?UTF-8?q?Andreas=20F=C3=A4rber?= Via implementing ACPI standard methods =5FEJ0 in bios, after Guest OS hot r= emove one vCPU, it is able to send a signal to QEMU, then QEMU could notify the assigned vCPU of exiting. meanwhile, and intruduce the QOM command 'cpu= -del' to remove vCPU from QEMU itself. this work is based on Andreas F=C3=A4rber's qom-cpu branch tree. git://github.com/afaerber/qemu-cpu.git this series patches must be used with seabios patch and KVM patch together. for KVM patches: http://comments.gmane.org/gmane.comp.emulators.kvm.devel/114347 for seabios patches: http://comments.gmane.org/gmane.comp.emulators.qemu/230460 Chen Fan (10): x86: move apic=5Fstate field from CPUX86State to X86CPU apic: remove redundant variable 'apic=5Fno' from apic=5Finit=5Fcommon() apic: remove local=5Fapics array and using CPU=5FFOREACH instead x86: add x86=5Fcpu=5Funrealizefn() for cpu apic remove qmp: add 'cpu-del' command support qom cpu: rename variable 'cpu=5Fadded=5Fnotifier' to 'cpu=5Fhotplug=5Fnotifier' qom cpu: add UNPLUG cpu notifier support i386: implement pc interface pc=5Fhot=5Fdel=5Fcpu() piix4: implement function cpu=5Fstatus=5Fwrite() for vcpu ejection cpus: reclaim allocated vCPU objects cpu-exec.c | 2 +- cpus.c | 51 +++++++++++++++++++++-- hw/acpi/piix4.c | 66 ++++++++++++++++++++++++------ hw/i386/kvm/apic.c | 18 +++++++- hw/i386/kvmvapic.c | 8 ++-- hw/i386/pc.c | 51 ++++++++++++++++++----- hw/i386/pc=5Fpiix.c | 3 +- hw/intc/apic.c | 91 ++++++++++++++++++++++---------------= ---- hw/intc/apic=5Fcommon.c | 17 ++------ include/hw/boards.h | 2 + include/hw/i386/apic=5Finternal.h | 6 +-- include/hw/i386/pc.h | 1 + include/qom/cpu.h | 20 +++++++++ include/sysemu/kvm.h | 1 + include/sysemu/sysemu.h | 2 +- kvm-all.c | 25 +++++++++++ qapi-schema.json | 12 ++++++ qmp-commands.hx | 23 +++++++++++ qmp.c | 9 ++++ qom/cpu.c | 26 +++++++++--- target-i386/cpu-qom.h | 5 +++ target-i386/cpu.c | 57 ++++++++++++++++++++------ target-i386/cpu.h | 4 -- target-i386/helper.c | 9 ++-- target-i386/kvm.c | 23 +++++------ target-i386/misc=5Fhelper.c | 8 ++-- 26 files changed, 403 insertions(+), 137 deletions(-) --=20 1.8.1.4 =