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


Reply via email to