xref: /openbmc/qemu/include/hw/acpi/cpu_hotplug.h (revision 1f7685fa)
1 /*
2  * QEMU ACPI hotplug utilities
3  *
4  * Copyright (C) 2013 Red Hat Inc
5  *
6  * Authors:
7  *   Igor Mammedov <imammedo@redhat.com>
8  *
9  * This work is licensed under the terms of the GNU GPL, version 2 or later.
10  * See the COPYING file in the top-level directory.
11  */
12 #ifndef ACPI_HOTPLUG_H
13 #define ACPI_HOTPLUG_H
14 
15 #include "hw/acpi/acpi.h"
16 #include "hw/acpi/pc-hotplug.h"
17 #include "hw/acpi/aml-build.h"
18 
19 typedef struct AcpiCpuHotplug {
20     MemoryRegion io;
21     uint8_t sts[ACPI_GPE_PROC_LEN];
22 } AcpiCpuHotplug;
23 
24 void acpi_cpu_plug_cb(ACPIREGS *ar, qemu_irq irq,
25                       AcpiCpuHotplug *g, DeviceState *dev, Error **errp);
26 
27 void acpi_cpu_hotplug_init(MemoryRegion *parent, Object *owner,
28                            AcpiCpuHotplug *gpe_cpu, uint16_t base);
29 
30 #define CPU_EJECT_METHOD "CPEJ"
31 #define CPU_MAT_METHOD "CPMA"
32 #define CPU_ON_BITMAP "CPON"
33 #define CPU_STATUS_METHOD "CPST"
34 #define CPU_STATUS_MAP "PRS"
35 #define CPU_SCAN_METHOD "PRSC"
36 
37 void build_cpu_hotplug_aml(Aml *ctx);
38 #endif
39