Add cpu-add hotplug support in machine virt. As there are some properties which are set out of arm_cpu_initfn, so the way of device_add is not supported now. This will add at next version. Some good suggestion?
This patchset is based on below patch: [RFC PATCH v3 00/11] Generate ACPI v5.1 tables and expose it to guest over fw_cfg on ARM http://lists.gnu.org/archive/html/qemu-devel/2015-02/msg03290.html Have done compile test and start a Linux guest, execute cpu-add in monitor, use info cpu to check a new cpu created. But as the guest kernel driver is not ready, so it can't be used by guest now. Any comments are welcome. Thanks, Shannon Shannon Zhao (7): hw/arm/virt: Add a GPIO controller hw/arm/virt-acpi-build: Add GPIO controller in ACPI DSDT table hw/acpi/virt-hotplug: Add a hotplug device for machine virt topology: Move topology.h to an arch-independent location target-arm/cpu: Add apic_id property for ARMCPU hw/arm/virt: Add cpu hotplug support hw/arm/virt-acpi-build: Add cpu hotplug support in ACPI default-configs/arm-softmmu.mak | 2 + hw/acpi/Makefile.objs | 1 + hw/acpi/aml-build.c | 135 ++++++++++++++++++++++++++ hw/acpi/cpu_hotplug.c | 16 +--- hw/acpi/ich9.c | 12 +++ hw/acpi/piix4.c | 12 +++ hw/acpi/virt-hotplug.c | 141 +++++++++++++++++++++++++++ hw/arm/virt-acpi-build.c | 198 +++++++++++++++++++++++++++++++++++++- hw/arm/virt.c | 190 ++++++++++++++++++++++++++++++++++++- include/hw/acpi/aml-build.h | 13 +++ include/hw/acpi/cpu_hotplug.h | 6 +- include/hw/acpi/topology.h | 134 +++++++++++++++++++++++++ include/hw/acpi/virt-hotplug.h | 11 ++ include/hw/arm/virt-acpi-build.h | 3 + target-arm/cpu-qom.h | 1 + target-arm/cpu.c | 77 +++++++++++++++ target-arm/cpu.h | 2 + target-i386/cpu.c | 4 +- target-i386/topology.h | 134 ------------------------- tests/test-x86-cpuid.c | 10 +- 20 files changed, 940 insertions(+), 162 deletions(-) create mode 100644 hw/acpi/virt-hotplug.c create mode 100644 include/hw/acpi/topology.h create mode 100644 include/hw/acpi/virt-hotplug.h delete mode 100644 target-i386/topology.h