1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef HW_ACPI_CPU_HOTPLUG_H
14#define HW_ACPI_CPU_HOTPLUG_H
15
16#include "hw/acpi/acpi.h"
17#include "hw/acpi/pc-hotplug.h"
18#include "hw/acpi/aml-build.h"
19#include "hw/hotplug.h"
20#include "hw/acpi/cpu.h"
21
22typedef struct AcpiCpuHotplug {
23 Object *device;
24 MemoryRegion io;
25 uint8_t sts[ACPI_GPE_PROC_LEN];
26} AcpiCpuHotplug;
27
28void legacy_acpi_cpu_plug_cb(HotplugHandler *hotplug_dev,
29 AcpiCpuHotplug *g, DeviceState *dev, Error **errp);
30
31void legacy_acpi_cpu_hotplug_init(MemoryRegion *parent, Object *owner,
32 AcpiCpuHotplug *gpe_cpu, uint16_t base);
33
34void acpi_switch_to_modern_cphp(AcpiCpuHotplug *gpe_cpu,
35 CPUHotplugState *cpuhp_state,
36 uint16_t io_port);
37
38void build_legacy_cpu_hotplug_aml(Aml *ctx, MachineState *machine,
39 uint16_t io_base);
40#endif
41