Merge tag 'qemu-macppc-20230206' of https://github.com/mcayland/qemu into staging
[qemu.git] / include / hw / acpi / piix4.h
blobbe1f8ea80ee86ad3fcdb9d84289b04e40969deef
1 /*
2 * ACPI implementation
4 * Copyright (c) 2006 Fabrice Bellard
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License version 2.1 as published by the Free Software Foundation.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, see <http://www.gnu.org/licenses/>
18 * Contributions after 2012-01-13 are licensed under the terms of the
19 * GNU GPL, version 2 or (at your option) any later version.
22 #ifndef HW_ACPI_PIIX4_H
23 #define HW_ACPI_PIIX4_H
25 #include "hw/pci/pci_device.h"
26 #include "hw/acpi/acpi.h"
27 #include "hw/acpi/cpu_hotplug.h"
28 #include "hw/acpi/memory_hotplug.h"
29 #include "hw/acpi/pcihp.h"
30 #include "hw/i2c/pm_smbus.h"
31 #include "hw/isa/apm.h"
33 #define TYPE_PIIX4_PM "PIIX4_PM"
34 OBJECT_DECLARE_SIMPLE_TYPE(PIIX4PMState, PIIX4_PM)
36 struct PIIX4PMState {
37 /*< private >*/
38 PCIDevice parent_obj;
39 /*< public >*/
41 MemoryRegion io;
42 uint32_t io_base;
44 MemoryRegion io_gpe;
45 ACPIREGS ar;
47 APMState apm;
49 PMSMBus smb;
50 uint32_t smb_io_base;
52 qemu_irq irq;
53 qemu_irq smi_irq;
54 bool smm_enabled;
55 bool smm_compat;
56 Notifier machine_ready;
57 Notifier powerdown_notifier;
59 AcpiPciHpState acpi_pci_hotplug;
60 bool use_acpi_hotplug_bridge;
61 bool use_acpi_root_pci_hotplug;
62 bool not_migrate_acpi_index;
64 uint8_t disable_s3;
65 uint8_t disable_s4;
66 uint8_t s4_val;
68 bool cpu_hotplug_legacy;
69 AcpiCpuHotplug gpe_cpu;
70 CPUHotplugState cpuhp_state;
72 MemHotplugState acpi_memory_hotplug;
75 #endif