xref: /qemu/include/hw/acpi/cpu_hotplug.h (revision fbd7a6b8e2f68970370665187893a3c80c69d555)
181cea5e7SIgor Mammedov /*
281cea5e7SIgor Mammedov  * QEMU ACPI hotplug utilities
381cea5e7SIgor Mammedov  *
481cea5e7SIgor Mammedov  * Copyright (C) 2013 Red Hat Inc
581cea5e7SIgor Mammedov  *
681cea5e7SIgor Mammedov  * Authors:
781cea5e7SIgor Mammedov  *   Igor Mammedov <imammedo@redhat.com>
881cea5e7SIgor Mammedov  *
981cea5e7SIgor Mammedov  * This work is licensed under the terms of the GNU GPL, version 2 or later.
1081cea5e7SIgor Mammedov  * See the COPYING file in the top-level directory.
1181cea5e7SIgor Mammedov  */
1281cea5e7SIgor Mammedov #ifndef ACPI_HOTPLUG_H
1381cea5e7SIgor Mammedov #define ACPI_HOTPLUG_H
1481cea5e7SIgor Mammedov 
1581cea5e7SIgor Mammedov #include "hw/acpi/acpi.h"
167e629d1dSIgor Mammedov #include "hw/acpi/pc-hotplug.h"
17*fbd7a6b8SIgor Mammedov #include "hw/acpi/aml-build.h"
1881cea5e7SIgor Mammedov 
1981cea5e7SIgor Mammedov typedef struct AcpiCpuHotplug {
2081cea5e7SIgor Mammedov     MemoryRegion io;
2181cea5e7SIgor Mammedov     uint8_t sts[ACPI_GPE_PROC_LEN];
2281cea5e7SIgor Mammedov } AcpiCpuHotplug;
2381cea5e7SIgor Mammedov 
241be6b511SGu Zheng void acpi_cpu_plug_cb(ACPIREGS *ar, qemu_irq irq,
251be6b511SGu Zheng                       AcpiCpuHotplug *g, DeviceState *dev, Error **errp);
261be6b511SGu Zheng 
27411b5db8SGu Zheng void acpi_cpu_hotplug_init(MemoryRegion *parent, Object *owner,
2881cea5e7SIgor Mammedov                            AcpiCpuHotplug *gpe_cpu, uint16_t base);
29*fbd7a6b8SIgor Mammedov 
30*fbd7a6b8SIgor Mammedov #define CPU_EJECT_METHOD "CPEJ"
31*fbd7a6b8SIgor Mammedov 
32*fbd7a6b8SIgor Mammedov void build_cpu_hotplug_aml(Aml *ctx);
3381cea5e7SIgor Mammedov #endif
34