This adds a new GED event called ACPI_GED_CPU_HOTPLUG_EVT.
The basic workflow is that: GED sends this event to guest,
then ACPI driver in guest will call _EVT method of GED aml,
then _EVT will call CSCN method in cpus aml to get status of
all cpus.
The status of cpus is maintained by CPUHotplugState in GED and
is made accessable to guest through memory region.
This also adds migration support to CPUHotplugState.
Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com>
Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
(cherry picked from commit a072cbe5beab53e9328c2fe6576e755e88b2c40a)
This series is an attempt to provide CPU hotplug support on ARM
virt platform. This is based on ACPI GED device.
We should enable ACPI support, and use vGICv3 and 64bit CPU to
support CPU hotplug.
Under KVM accel, the KVM vCPUs is pre-created. Besides, vGIC IRIs
is pre-created too. However, QEMU vCPU objects are defer-created.
Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com>