Skip to content

Commit

Permalink
hw/pci-host/piix: Move i440FX declarations to hw/pci-host/i440fx.h
Browse files Browse the repository at this point in the history
The hw/pci-host/piix.c contains a mix of PIIX3 and i440FX chipsets
functions. To be able to split it, we need to export some
declarations first.

Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
  • Loading branch information
philmd committed Nov 5, 2019
1 parent 4b19de1 commit 0fd61a2
Show file tree
Hide file tree
Showing 7 changed files with 43 additions and 24 deletions.
1 change: 1 addition & 0 deletions MAINTAINERS
Expand Up @@ -1244,6 +1244,7 @@ F: hw/i386/
F: hw/pci-host/piix.c
F: hw/pci-host/q35.c
F: hw/pci-host/pam.c
F: include/hw/pci-host/i440fx.h
F: include/hw/pci-host/q35.h
F: include/hw/pci-host/pam.h
F: hw/isa/lpc_ich9.c
Expand Down
2 changes: 1 addition & 1 deletion hw/acpi/pcihp.c
Expand Up @@ -27,7 +27,7 @@
#include "qemu/osdep.h"
#include "hw/acpi/pcihp.h"

#include "hw/i386/pc.h"
#include "hw/pci-host/i440fx.h"
#include "hw/pci/pci.h"
#include "hw/pci/pci_bridge.h"
#include "hw/acpi/acpi.h"
Expand Down
1 change: 1 addition & 0 deletions hw/i386/pc_piix.c
Expand Up @@ -30,6 +30,7 @@
#include "hw/i386/x86.h"
#include "hw/i386/pc.h"
#include "hw/i386/apic.h"
#include "hw/pci-host/i440fx.h"
#include "hw/southbridge/piix.h"
#include "hw/display/ramfb.h"
#include "hw/firmware/smbios.h"
Expand Down
1 change: 1 addition & 0 deletions hw/pci-host/piix.c
Expand Up @@ -27,6 +27,7 @@
#include "hw/irq.h"
#include "hw/pci/pci.h"
#include "hw/pci/pci_host.h"
#include "hw/pci-host/i440fx.h"
#include "hw/southbridge/piix.h"
#include "hw/qdev-properties.h"
#include "hw/isa/isa.h"
Expand Down
22 changes: 0 additions & 22 deletions include/hw/i386/pc.h
Expand Up @@ -231,28 +231,6 @@ int cmos_get_fd_drive_type(FloppyDriveType fd0);
/* hpet.c */
extern int no_hpet;

/* piix_pci.c */
struct PCII440FXState;
typedef struct PCII440FXState PCII440FXState;

#define TYPE_I440FX_PCI_HOST_BRIDGE "i440FX-pcihost"
#define TYPE_I440FX_PCI_DEVICE "i440FX"

#define TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE "igd-passthrough-i440FX"

PCIBus *i440fx_init(const char *host_type, const char *pci_type,
PCII440FXState **pi440fx_state, int *piix_devfn,
ISABus **isa_bus, qemu_irq *pic,
MemoryRegion *address_space_mem,
MemoryRegion *address_space_io,
ram_addr_t ram_size,
ram_addr_t below_4g_mem_size,
ram_addr_t above_4g_mem_size,
MemoryRegion *pci_memory,
MemoryRegion *ram_memory);

PCIBus *find_i440fx(void);

/* pc_sysfw.c */
void pc_system_flash_create(PCMachineState *pcms);
void pc_system_firmware_init(PCMachineState *pcms, MemoryRegion *rom_memory);
Expand Down
37 changes: 37 additions & 0 deletions include/hw/pci-host/i440fx.h
@@ -0,0 +1,37 @@
/*
* QEMU i440FX North Bridge Emulation
*
* Copyright (c) 2006 Fabrice Bellard
*
* This work is licensed under the terms of the GNU GPL, version 2 or later.
* See the COPYING file in the top-level directory.
*
*/

#ifndef HW_PCI_I440FX_H
#define HW_PCI_I440FX_H

#include "hw/hw.h"
#include "hw/pci/pci_bus.h"

typedef struct PCII440FXState PCII440FXState;

#define TYPE_I440FX_PCI_HOST_BRIDGE "i440FX-pcihost"
#define TYPE_I440FX_PCI_DEVICE "i440FX"

#define TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE "igd-passthrough-i440FX"

PCIBus *i440fx_init(const char *host_type, const char *pci_type,
PCII440FXState **pi440fx_state, int *piix_devfn,
ISABus **isa_bus, qemu_irq *pic,
MemoryRegion *address_space_mem,
MemoryRegion *address_space_io,
ram_addr_t ram_size,
ram_addr_t below_4g_mem_size,
ram_addr_t above_4g_mem_size,
MemoryRegion *pci_memory,
MemoryRegion *ram_memory);

PCIBus *find_i440fx(void);

#endif
3 changes: 2 additions & 1 deletion stubs/pci-host-piix.c
@@ -1,5 +1,6 @@
#include "qemu/osdep.h"
#include "hw/i386/pc.h"
#include "hw/pci-host/i440fx.h"

PCIBus *find_i440fx(void)
{
return NULL;
Expand Down

0 comments on commit 0fd61a2

Please sign in to comment.