piix4.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. #ifndef HW_ACPI_PIIX4_H
  22. #define HW_ACPI_PIIX4_H
  23. #include "hw/pci/pci_device.h"
  24. #include "hw/acpi/acpi.h"
  25. #include "hw/acpi/cpu_hotplug.h"
  26. #include "hw/acpi/memory_hotplug.h"
  27. #include "hw/acpi/pcihp.h"
  28. #include "hw/i2c/pm_smbus.h"
  29. #include "hw/isa/apm.h"
  30. #define TYPE_PIIX4_PM "PIIX4_PM"
  31. OBJECT_DECLARE_SIMPLE_TYPE(PIIX4PMState, PIIX4_PM)
  32. struct PIIX4PMState {
  33. /*< private >*/
  34. PCIDevice parent_obj;
  35. /*< public >*/
  36. MemoryRegion io;
  37. uint32_t io_base;
  38. MemoryRegion io_gpe;
  39. ACPIREGS ar;
  40. APMState apm;
  41. PMSMBus smb;
  42. uint32_t smb_io_base;
  43. qemu_irq irq;
  44. qemu_irq smi_irq;
  45. bool smm_enabled;
  46. bool smm_compat;
  47. Notifier machine_ready;
  48. Notifier powerdown_notifier;
  49. AcpiPciHpState acpi_pci_hotplug;
  50. bool not_migrate_acpi_index;
  51. uint8_t disable_s3;
  52. uint8_t disable_s4;
  53. uint8_t s4_val;
  54. bool cpu_hotplug_legacy;
  55. AcpiCpuHotplug gpe_cpu;
  56. CPUHotplugState cpuhp_state;
  57. MemHotplugState acpi_memory_hotplug;
  58. };
  59. #endif