master
h 71 lines 1.71 KB
Raw
1 /*
2 * ACPI implementation
3 *
4 * Copyright (c) 2006 Fabrice Bellard
5 *
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.
9 *
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.
14 *
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/>
17 *
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.
20 */
21
22 #ifndef HW_ACPI_PIIX4_H
23 #define HW_ACPI_PIIX4_H
24
25 #include "hw/pci/pci_device.h"
26 #include "hw/acpi/acpi.h"
27 #include "hw/acpi/memory_hotplug.h"
28 #include "hw/acpi/pcihp.h"
29 #include "hw/i2c/pm_smbus.h"
30 #include "hw/isa/apm.h"
31 #include "hw/acpi/cpu.h"
32
33 #define TYPE_PIIX4_PM "PIIX4_PM"
34 OBJECT_DECLARE_SIMPLE_TYPE(PIIX4PMState, PIIX4_PM)
35
36 struct PIIX4PMState {
37 /*< private >*/
38 PCIDevice parent_obj;
39 /*< public >*/
40
41 MemoryRegion io;
42 uint32_t io_base;
43
44 MemoryRegion io_gpe;
45 ACPIREGS ar;
46
47 APMState apm;
48
49 PMSMBus smb;
50 uint32_t smb_io_base;
51
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;
58
59 AcpiPciHpState acpi_pci_hotplug;
60 bool not_migrate_acpi_index;
61
62 uint8_t disable_s3;
63 uint8_t disable_s4;
64 uint8_t s4_val;
65
66 CPUHotplugState cpuhp_state;
67
68 MemHotplugState acpi_memory_hotplug;
69 };
70
71 #endif