mirror of https://github.com/xemu-project/xemu.git
pci: remove some types from typedefs.h
For types that are embedded in structs defined by pci.h, the definition is pretty much required to be available. Remove them from typedefs.h. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
15d62536a9
commit
fe5943fecc
|
@ -27,6 +27,9 @@
|
|||
#include "hw/pci/pcie_sriov.h"
|
||||
#include "hw/hotplug.h"
|
||||
|
||||
typedef struct PCIEPort PCIEPort;
|
||||
typedef struct PCIESlot PCIESlot;
|
||||
|
||||
typedef enum {
|
||||
/* these bits must match the bits in Slot Control/Status registers.
|
||||
* PCI_EXP_HP_EV_xxx = PCI_EXP_SLTCTL_xxxE = PCI_EXP_SLTSTA_xxx
|
||||
|
|
|
@ -25,8 +25,23 @@
|
|||
|
||||
/* definitions which PCIExpressDevice uses */
|
||||
|
||||
/* error */
|
||||
typedef struct PCIEAERErr {
|
||||
uint32_t status; /* error status bits */
|
||||
uint16_t source_id; /* bdf */
|
||||
|
||||
#define PCIE_AER_ERR_IS_CORRECTABLE 0x1 /* correctable/uncorrectable */
|
||||
#define PCIE_AER_ERR_MAYBE_ADVISORY 0x2 /* maybe advisory non-fatal */
|
||||
#define PCIE_AER_ERR_HEADER_VALID 0x4 /* TLP header is logged */
|
||||
#define PCIE_AER_ERR_TLP_PREFIX_PRESENT 0x8 /* TLP Prefix is logged */
|
||||
uint16_t flags;
|
||||
|
||||
uint32_t header[4]; /* TLP header */
|
||||
uint32_t prefix[4]; /* TLP header prefix */
|
||||
} PCIEAERErr;
|
||||
|
||||
/* AER log */
|
||||
struct PCIEAERLog {
|
||||
typedef struct PCIEAERLog {
|
||||
/* This structure is saved/loaded.
|
||||
So explicitly size them instead of unsigned int */
|
||||
|
||||
|
@ -48,11 +63,11 @@ struct PCIEAERLog {
|
|||
|
||||
/* Error log. log_max-sized array */
|
||||
PCIEAERErr *log;
|
||||
};
|
||||
} PCIEAERLog;
|
||||
|
||||
/* aer error message: error signaling message has only error severity and
|
||||
source id. See 2.2.8.3 error signaling messages */
|
||||
struct PCIEAERMsg {
|
||||
typedef struct PCIEAERMsg {
|
||||
/*
|
||||
* PCI_ERR_ROOT_CMD_{COR, NONFATAL, FATAL}_EN
|
||||
* = PCI_EXP_DEVCTL_{CERE, NFERE, FERE}
|
||||
|
@ -60,7 +75,7 @@ struct PCIEAERMsg {
|
|||
uint32_t severity;
|
||||
|
||||
uint16_t source_id; /* bdf */
|
||||
};
|
||||
} PCIEAERMsg;
|
||||
|
||||
static inline bool
|
||||
pcie_aer_msg_is_uncor(const PCIEAERMsg *msg)
|
||||
|
@ -69,21 +84,6 @@ pcie_aer_msg_is_uncor(const PCIEAERMsg *msg)
|
|||
msg->severity == PCI_ERR_ROOT_CMD_FATAL_EN;
|
||||
}
|
||||
|
||||
/* error */
|
||||
struct PCIEAERErr {
|
||||
uint32_t status; /* error status bits */
|
||||
uint16_t source_id; /* bdf */
|
||||
|
||||
#define PCIE_AER_ERR_IS_CORRECTABLE 0x1 /* correctable/uncorrectable */
|
||||
#define PCIE_AER_ERR_MAYBE_ADVISORY 0x2 /* maybe advisory non-fatal */
|
||||
#define PCIE_AER_ERR_HEADER_VALID 0x4 /* TLP header is logged */
|
||||
#define PCIE_AER_ERR_TLP_PREFIX_PRESENT 0x8 /* TLP Prefix is logged */
|
||||
uint16_t flags;
|
||||
|
||||
uint32_t header[4]; /* TLP header */
|
||||
uint32_t prefix[4]; /* TLP header prefix */
|
||||
};
|
||||
|
||||
extern const VMStateDescription vmstate_pcie_aer_log;
|
||||
|
||||
int pcie_aer_init(PCIDevice *dev, uint8_t cap_ver, uint16_t offset,
|
||||
|
|
|
@ -15,17 +15,17 @@
|
|||
|
||||
#include "hw/pci/pci.h"
|
||||
|
||||
struct PCIESriovPF {
|
||||
typedef struct PCIESriovPF {
|
||||
uint16_t num_vfs; /* Number of virtual functions created */
|
||||
uint8_t vf_bar_type[PCI_NUM_REGIONS]; /* Store type for each VF bar */
|
||||
const char *vfname; /* Reference to the device type used for the VFs */
|
||||
PCIDevice **vf; /* Pointer to an array of num_vfs VF devices */
|
||||
};
|
||||
} PCIESriovPF;
|
||||
|
||||
struct PCIESriovVF {
|
||||
typedef struct PCIESriovVF {
|
||||
PCIDevice *pf; /* Pointer back to owner physical function */
|
||||
uint16_t vf_number; /* Logical VF number of this function */
|
||||
};
|
||||
} PCIESriovVF;
|
||||
|
||||
void pcie_sriov_pf_init(PCIDevice *dev, uint16_t offset,
|
||||
const char *vfname, uint16_t vf_dev_id,
|
||||
|
|
|
@ -78,13 +78,8 @@ typedef struct ObjectClass ObjectClass;
|
|||
typedef struct PCIBridge PCIBridge;
|
||||
typedef struct PCIBus PCIBus;
|
||||
typedef struct PCIDevice PCIDevice;
|
||||
typedef struct PCIEAERErr PCIEAERErr;
|
||||
typedef struct PCIEAERLog PCIEAERLog;
|
||||
typedef struct PCIEAERMsg PCIEAERMsg;
|
||||
typedef struct PCIEPort PCIEPort;
|
||||
typedef struct PCIESlot PCIESlot;
|
||||
typedef struct PCIESriovPF PCIESriovPF;
|
||||
typedef struct PCIESriovVF PCIESriovVF;
|
||||
typedef struct PCIExpressDevice PCIExpressDevice;
|
||||
typedef struct PCIExpressHost PCIExpressHost;
|
||||
typedef struct PCIHostDeviceAddress PCIHostDeviceAddress;
|
||||
|
|
Loading…
Reference in New Issue