hw/acpi/piix4: move PIIX4PMState into separate piix4.h header
This allows the QOM types in hw/acpi/piix4.c to be used elsewhere by simply including hw/acpi/piix4.h. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20220528091934.15520-5-mark.cave-ayland@ilande.co.uk> Reviewed-by: Bernhard Beschow <shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
		
				
					committed by
					
						
						Philippe Mathieu-Daudé
					
				
			
			
				
	
			
			
			
						parent
						
							7ace6b4f81
						
					
				
				
					commit
					2bfd0845f0
				
			@@ -28,6 +28,8 @@
 | 
				
			|||||||
#include "hw/pci/pci.h"
 | 
					#include "hw/pci/pci.h"
 | 
				
			||||||
#include "hw/qdev-properties.h"
 | 
					#include "hw/qdev-properties.h"
 | 
				
			||||||
#include "hw/acpi/acpi.h"
 | 
					#include "hw/acpi/acpi.h"
 | 
				
			||||||
 | 
					#include "hw/acpi/pcihp.h"
 | 
				
			||||||
 | 
					#include "hw/acpi/piix4.h"
 | 
				
			||||||
#include "sysemu/runstate.h"
 | 
					#include "sysemu/runstate.h"
 | 
				
			||||||
#include "sysemu/sysemu.h"
 | 
					#include "sysemu/sysemu.h"
 | 
				
			||||||
#include "sysemu/xen.h"
 | 
					#include "sysemu/xen.h"
 | 
				
			||||||
@@ -56,47 +58,6 @@ struct pci_status {
 | 
				
			|||||||
    uint32_t down;
 | 
					    uint32_t down;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct PIIX4PMState {
 | 
					 | 
				
			||||||
    /*< private >*/
 | 
					 | 
				
			||||||
    PCIDevice parent_obj;
 | 
					 | 
				
			||||||
    /*< public >*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    MemoryRegion io;
 | 
					 | 
				
			||||||
    uint32_t io_base;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    MemoryRegion io_gpe;
 | 
					 | 
				
			||||||
    ACPIREGS ar;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    APMState apm;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    PMSMBus smb;
 | 
					 | 
				
			||||||
    uint32_t smb_io_base;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    qemu_irq irq;
 | 
					 | 
				
			||||||
    qemu_irq smi_irq;
 | 
					 | 
				
			||||||
    bool smm_enabled;
 | 
					 | 
				
			||||||
    bool smm_compat;
 | 
					 | 
				
			||||||
    Notifier machine_ready;
 | 
					 | 
				
			||||||
    Notifier powerdown_notifier;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    AcpiPciHpState acpi_pci_hotplug;
 | 
					 | 
				
			||||||
    bool use_acpi_hotplug_bridge;
 | 
					 | 
				
			||||||
    bool use_acpi_root_pci_hotplug;
 | 
					 | 
				
			||||||
    bool not_migrate_acpi_index;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    uint8_t disable_s3;
 | 
					 | 
				
			||||||
    uint8_t disable_s4;
 | 
					 | 
				
			||||||
    uint8_t s4_val;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    bool cpu_hotplug_legacy;
 | 
					 | 
				
			||||||
    AcpiCpuHotplug gpe_cpu;
 | 
					 | 
				
			||||||
    CPUHotplugState cpuhp_state;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    MemHotplugState acpi_memory_hotplug;
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
OBJECT_DECLARE_SIMPLE_TYPE(PIIX4PMState, PIIX4_PM)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static void piix4_acpi_system_hot_add_init(MemoryRegion *parent,
 | 
					static void piix4_acpi_system_hot_add_init(MemoryRegion *parent,
 | 
				
			||||||
                                           PCIBus *bus, PIIX4PMState *s);
 | 
					                                           PCIBus *bus, PIIX4PMState *s);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -44,6 +44,7 @@
 | 
				
			|||||||
#include "hw/acpi/tpm.h"
 | 
					#include "hw/acpi/tpm.h"
 | 
				
			||||||
#include "hw/acpi/vmgenid.h"
 | 
					#include "hw/acpi/vmgenid.h"
 | 
				
			||||||
#include "hw/acpi/erst.h"
 | 
					#include "hw/acpi/erst.h"
 | 
				
			||||||
 | 
					#include "hw/acpi/piix4.h"
 | 
				
			||||||
#include "sysemu/tpm_backend.h"
 | 
					#include "sysemu/tpm_backend.h"
 | 
				
			||||||
#include "hw/rtc/mc146818rtc_regs.h"
 | 
					#include "hw/rtc/mc146818rtc_regs.h"
 | 
				
			||||||
#include "migration/vmstate.h"
 | 
					#include "migration/vmstate.h"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										75
									
								
								include/hw/acpi/piix4.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								include/hw/acpi/piix4.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,75 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * ACPI implementation
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Copyright (c) 2006 Fabrice Bellard
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * This library is free software; you can redistribute it and/or
 | 
				
			||||||
 | 
					 * modify it under the terms of the GNU Lesser General Public
 | 
				
			||||||
 | 
					 * License version 2.1 as published by the Free Software Foundation.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * This library is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
				
			||||||
 | 
					 * Lesser General Public License for more details.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * You should have received a copy of the GNU Lesser General Public
 | 
				
			||||||
 | 
					 * License along with this library; if not, see <http://www.gnu.org/licenses/>
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Contributions after 2012-01-13 are licensed under the terms of the
 | 
				
			||||||
 | 
					 * GNU GPL, version 2 or (at your option) any later version.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef HW_ACPI_PIIX4_H
 | 
				
			||||||
 | 
					#define HW_ACPI_PIIX4_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "hw/pci/pci.h"
 | 
				
			||||||
 | 
					#include "hw/acpi/acpi.h"
 | 
				
			||||||
 | 
					#include "hw/acpi/cpu_hotplug.h"
 | 
				
			||||||
 | 
					#include "hw/acpi/memory_hotplug.h"
 | 
				
			||||||
 | 
					#include "hw/acpi/pcihp.h"
 | 
				
			||||||
 | 
					#include "hw/i2c/pm_smbus.h"
 | 
				
			||||||
 | 
					#include "hw/isa/apm.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define TYPE_PIIX4_PM "PIIX4_PM"
 | 
				
			||||||
 | 
					OBJECT_DECLARE_SIMPLE_TYPE(PIIX4PMState, PIIX4_PM)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct PIIX4PMState {
 | 
				
			||||||
 | 
					    /*< private >*/
 | 
				
			||||||
 | 
					    PCIDevice parent_obj;
 | 
				
			||||||
 | 
					    /*< public >*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    MemoryRegion io;
 | 
				
			||||||
 | 
					    uint32_t io_base;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    MemoryRegion io_gpe;
 | 
				
			||||||
 | 
					    ACPIREGS ar;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    APMState apm;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    PMSMBus smb;
 | 
				
			||||||
 | 
					    uint32_t smb_io_base;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    qemu_irq irq;
 | 
				
			||||||
 | 
					    qemu_irq smi_irq;
 | 
				
			||||||
 | 
					    bool smm_enabled;
 | 
				
			||||||
 | 
					    bool smm_compat;
 | 
				
			||||||
 | 
					    Notifier machine_ready;
 | 
				
			||||||
 | 
					    Notifier powerdown_notifier;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    AcpiPciHpState acpi_pci_hotplug;
 | 
				
			||||||
 | 
					    bool use_acpi_hotplug_bridge;
 | 
				
			||||||
 | 
					    bool use_acpi_root_pci_hotplug;
 | 
				
			||||||
 | 
					    bool not_migrate_acpi_index;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    uint8_t disable_s3;
 | 
				
			||||||
 | 
					    uint8_t disable_s4;
 | 
				
			||||||
 | 
					    uint8_t s4_val;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    bool cpu_hotplug_legacy;
 | 
				
			||||||
 | 
					    AcpiCpuHotplug gpe_cpu;
 | 
				
			||||||
 | 
					    CPUHotplugState cpuhp_state;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    MemHotplugState acpi_memory_hotplug;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
@@ -15,8 +15,6 @@
 | 
				
			|||||||
#include "hw/pci/pci.h"
 | 
					#include "hw/pci/pci.h"
 | 
				
			||||||
#include "qom/object.h"
 | 
					#include "qom/object.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define TYPE_PIIX4_PM "PIIX4_PM"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
I2CBus *piix4_pm_init(PCIBus *bus, int devfn, uint32_t smb_io_base,
 | 
					I2CBus *piix4_pm_init(PCIBus *bus, int devfn, uint32_t smb_io_base,
 | 
				
			||||||
                      qemu_irq sci_irq, qemu_irq smi_irq,
 | 
					                      qemu_irq sci_irq, qemu_irq smi_irq,
 | 
				
			||||||
                      bool smm_enabled, DeviceState **piix4_pm);
 | 
					                      bool smm_enabled, DeviceState **piix4_pm);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user