hw/pci/pci.h: Don't include qemu-common.h
qemu-common.h should only be included by .c files. Its file comment explains why: "No header file should depend on qemu-common.h, as this would easily lead to circular header dependencies." hw/pci/pci.h includes qemu-common.h, but its users only need pcibus_t and PCIHostDeviceAddress from it. Move them to hw/pci/pci.h and drop the ill-advised include. Include hw/pci/pci.h where the moved stuff is now missing. Except we can't in target-i386/kvm_i386.h, because that would break the i386-linux-user compile. Add PCIHostDeviceAddress to qemu/typedefs.h instead. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
		
							parent
							
								
									0137fdc094
								
							
						
					
					
						commit
						a7c4d9c7ca
					
				@ -2,6 +2,7 @@
 | 
				
			|||||||
#include "net/net.h"
 | 
					#include "net/net.h"
 | 
				
			||||||
#include "hw/qdev.h"
 | 
					#include "hw/qdev.h"
 | 
				
			||||||
#include "qapi/error.h"
 | 
					#include "qapi/error.h"
 | 
				
			||||||
 | 
					#include "hw/pci/pci.h"
 | 
				
			||||||
#include "qapi/qmp/qerror.h"
 | 
					#include "qapi/qmp/qerror.h"
 | 
				
			||||||
#include "qemu/error-report.h"
 | 
					#include "qemu/error-report.h"
 | 
				
			||||||
#include "sysemu/block-backend.h"
 | 
					#include "sysemu/block-backend.h"
 | 
				
			||||||
 | 
				
			|||||||
@ -1,8 +1,6 @@
 | 
				
			|||||||
#ifndef QEMU_PCI_H
 | 
					#ifndef QEMU_PCI_H
 | 
				
			||||||
#define QEMU_PCI_H
 | 
					#define QEMU_PCI_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "qemu-common.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "hw/qdev.h"
 | 
					#include "hw/qdev.h"
 | 
				
			||||||
#include "exec/memory.h"
 | 
					#include "exec/memory.h"
 | 
				
			||||||
#include "sysemu/dma.h"
 | 
					#include "sysemu/dma.h"
 | 
				
			||||||
@ -97,6 +95,15 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define FMT_PCIBUS                      PRIx64
 | 
					#define FMT_PCIBUS                      PRIx64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef uint64_t pcibus_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct PCIHostDeviceAddress {
 | 
				
			||||||
 | 
					    unsigned int domain;
 | 
				
			||||||
 | 
					    unsigned int bus;
 | 
				
			||||||
 | 
					    unsigned int slot;
 | 
				
			||||||
 | 
					    unsigned int function;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef void PCIConfigWriteFunc(PCIDevice *pci_dev,
 | 
					typedef void PCIConfigWriteFunc(PCIDevice *pci_dev,
 | 
				
			||||||
                                uint32_t address, uint32_t data, int len);
 | 
					                                uint32_t address, uint32_t data, int len);
 | 
				
			||||||
typedef uint32_t PCIConfigReadFunc(PCIDevice *pci_dev,
 | 
					typedef uint32_t PCIConfigReadFunc(PCIDevice *pci_dev,
 | 
				
			||||||
 | 
				
			|||||||
@ -310,15 +310,6 @@ struct ParallelIOArg {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
typedef int (*DMA_transfer_handler) (void *opaque, int nchan, int pos, int size);
 | 
					typedef int (*DMA_transfer_handler) (void *opaque, int nchan, int pos, int size);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef uint64_t pcibus_t;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
typedef struct PCIHostDeviceAddress {
 | 
					 | 
				
			||||||
    unsigned int domain;
 | 
					 | 
				
			||||||
    unsigned int bus;
 | 
					 | 
				
			||||||
    unsigned int slot;
 | 
					 | 
				
			||||||
    unsigned int function;
 | 
					 | 
				
			||||||
} PCIHostDeviceAddress;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void tcg_exec_init(unsigned long tb_size);
 | 
					void tcg_exec_init(unsigned long tb_size);
 | 
				
			||||||
bool tcg_enabled(void);
 | 
					bool tcg_enabled(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -66,6 +66,7 @@ typedef struct PCIEPort PCIEPort;
 | 
				
			|||||||
typedef struct PCIESlot PCIESlot;
 | 
					typedef struct PCIESlot PCIESlot;
 | 
				
			||||||
typedef struct PCIExpressDevice PCIExpressDevice;
 | 
					typedef struct PCIExpressDevice PCIExpressDevice;
 | 
				
			||||||
typedef struct PCIExpressHost PCIExpressHost;
 | 
					typedef struct PCIExpressHost PCIExpressHost;
 | 
				
			||||||
 | 
					typedef struct PCIHostDeviceAddress PCIHostDeviceAddress;
 | 
				
			||||||
typedef struct PCIHostState PCIHostState;
 | 
					typedef struct PCIHostState PCIHostState;
 | 
				
			||||||
typedef struct PCMachineClass PCMachineClass;
 | 
					typedef struct PCMachineClass PCMachineClass;
 | 
				
			||||||
typedef struct PCMachineState PCMachineState;
 | 
					typedef struct PCMachineState PCMachineState;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user