acpi: cpuhp: implement hot-add parts of CPU hotplug interface

it adds hw registers needed for handling CPU hot-add and
corresponding AML methods to handle hot-add events on
guest side.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Igor Mammedov 2016-06-14 16:13:32 +02:00 committed by Michael S. Tsirkin
parent ac35f13ba8
commit d2238cb678
3 changed files with 157 additions and 2 deletions

View file

@ -20,11 +20,13 @@
typedef struct AcpiCpuStatus {
struct CPUState *cpu;
uint64_t arch_id;
bool is_inserting;
} AcpiCpuStatus;
typedef struct CPUHotplugState {
MemoryRegion ctrl_reg;
uint32_t selector;
uint8_t command;
uint32_t dev_count;
AcpiCpuStatus *devs;
} CPUHotplugState;
@ -41,7 +43,8 @@ typedef struct CPUHotplugFeatures {
void build_cpus_aml(Aml *table, MachineState *machine, CPUHotplugFeatures opts,
hwaddr io_base,
const char *res_root);
const char *res_root,
const char *event_handler_method);
extern const VMStateDescription vmstate_cpu_hotplug;
#define VMSTATE_CPU_HOTPLUG(cpuhp, state) \