[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC V2 00/10] cpu: add device_add foo-x86_64-cpu and i386
From: |
Gu Zheng |
Subject: |
[Qemu-devel] [RFC V2 00/10] cpu: add device_add foo-x86_64-cpu and i386 cpu hot remove support |
Date: |
Thu, 28 Aug 2014 11:36:32 +0800 |
This series is based on the previous patchset from Chen Fan:
https://lists.nongnu.org/archive/html/qemu-devel/2014-05/msg02360.html
https://lists.nongnu.org/archive/html/qemu-devel/2013-12/msg04266.html
Patch 1~3: add device_add foo-x86_64-cpu support
These three patches 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.
Patch 4~10: add i386 cpu hot remove support
Via implementing ACPI standard methods _EJ0 in ACPI table, after Guest
OS remove one vCPU online, the fireware will store removed bitmap to
QEMU, then QEMU could know to notify the assigned vCPU of exiting.
Meanwhile, intruduce the QOM command 'device_del' to remove vCPU from
QEMU itself.
v2:
-fix the cpu index duplicated issue in the QMP/HMP command output.
Chen Fan (6):
cpu: introduce CpuTopoInfo structure for argument simplification
cpu: add device_add foo-x86_64-cpu support
x86: add x86_cpu_unrealizefn() for cpu apic remove
qom cpu: rename variable 'cpu_added_notifier' to
'cpu_hotplug_notifier'
i386: implement pc interface cpu_common_unrealizefn() in qom/cpu.c
cpu hotplug: implement function cpu_status_write() for vcpu ejection
Gu Zheng (4):
qom/cpu: move register_vmstate to common CPUClass.realizefn
i386: add cpu device_del support
qom cpu: add UNPLUG cpu notify support
cpus: reclaim allocated vCPU objects
cpus.c | 48 +++++++++++++-
exec.c | 32 +++++----
hw/acpi/cpu_hotplug.c | 55 +++++++++++++--
hw/acpi/ich9.c | 13 ++--
hw/acpi/piix4.c | 21 +++---
hw/i386/acpi-dsdt-cpu-hotplug.dsl | 6 ++-
hw/i386/kvm/apic.c | 8 ++
hw/i386/pc.c | 2 +-
hw/intc/apic.c | 10 +++
hw/intc/apic_common.c | 26 ++++++-
include/hw/acpi/cpu_hotplug.h | 14 ++++-
include/hw/acpi/ich9.h | 2 +-
include/hw/cpu/icc_bus.h | 1 +
include/hw/i386/apic_internal.h | 3 +
include/qom/cpu.h | 12 +++
include/sysemu/kvm.h | 1 +
include/sysemu/sysemu.h | 2 +-
kvm-all.c | 57 +++++++++++++++-
monitor.c | 4 +-
qdev-monitor.c | 1 +
qom/cpu.c | 29 +++++++--
target-i386/cpu-qom.h | 1 +
target-i386/cpu.c | 138 ++++++++++++++++++++++++++++++++++++-
target-i386/topology.h | 51 +++++++++----
24 files changed, 470 insertions(+), 67 deletions(-)
--
1.7.7
- [Qemu-devel] [RFC V2 00/10] cpu: add device_add foo-x86_64-cpu and i386 cpu hot remove support,
Gu Zheng <=
- [Qemu-devel] [RFC V2 01/10] cpu: introduce CpuTopoInfo structure for argument simplification, Gu Zheng, 2014/08/27
- [Qemu-devel] [RFC V2 05/10] i386: add cpu device_del support, Gu Zheng, 2014/08/27
- [Qemu-devel] [RFC V2 06/10] qom cpu: rename variable 'cpu_added_notifier' to 'cpu_hotplug_notifier', Gu Zheng, 2014/08/27
- [Qemu-devel] [RFC V2 04/10] x86: add x86_cpu_unrealizefn() for cpu apic remove, Gu Zheng, 2014/08/27
- [Qemu-devel] [RFC V2 07/10] qom cpu: add UNPLUG cpu notify support, Gu Zheng, 2014/08/28
- [Qemu-devel] [RFC V2 03/10] cpu: add device_add foo-x86_64-cpu support, Gu Zheng, 2014/08/28
- [Qemu-devel] [RFC V2 08/10] i386: implement pc interface cpu_common_unrealizefn() in qom/cpu.c, Gu Zheng, 2014/08/28
- [Qemu-devel] [RFC V2 09/10] cpu hotplug: implement function cpu_status_write() for vcpu ejection, Gu Zheng, 2014/08/28
- [Qemu-devel] [RFC V2 10/10] cpus: reclaim allocated vCPU objects, Gu Zheng, 2014/08/28
- [Qemu-devel] [RFC V2 02/10] qom/cpu: move register_vmstate to common CPUClass.realizefn, Gu Zheng, 2014/08/28