include/xen/interface/io/pciif.h

Source file repositories/reference/linux-study-clean/include/xen/interface/io/pciif.h

File Facts

System
Linux kernel
Corpus path
include/xen/interface/io/pciif.h
Extension
.h
Size
2561 bytes
Lines
96
Domain
Repository Root And Misc
Bucket
include
Inferred role
Repository Root And Misc: implementation source
Status
source implementation candidate

Why This File Exists

Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.

Dependency Surface

Detected Declarations

Annotated Snippet

struct xen_msix_entry {
	uint16_t vector;
	uint16_t entry;
};
struct xen_pci_op {
	/* IN: what action to perform: XEN_PCI_OP_* */
	uint32_t cmd;

	/* OUT: will contain an error number (if any) from errno.h */
	int32_t err;

	/* IN: which device to touch */
	uint32_t domain; /* PCI Domain/Segment */
	uint32_t bus;
	uint32_t devfn;

	/* IN: which configuration registers to touch */
	int32_t offset;
	int32_t size;

	/* IN/OUT: Contains the result after a READ or the value to WRITE */
	uint32_t value;
	/* IN: Contains extra infor for this operation */
	uint32_t info;
	/*IN:  param for msi-x */
	struct xen_msix_entry msix_entries[SH_INFO_MAX_VEC];
};

/*used for pcie aer handling*/
struct xen_pcie_aer_op {
	/* IN: what action to perform: XEN_PCI_OP_* */
	uint32_t cmd;
	/*IN/OUT: return aer_op result or carry error_detected state as input*/
	int32_t err;

	/* IN: which device to touch */
	uint32_t domain; /* PCI Domain/Segment*/
	uint32_t bus;
	uint32_t devfn;
};
struct xen_pci_sharedinfo {
	/* flags - XEN_PCIF_* */
	uint32_t flags;
	struct xen_pci_op op;
	struct xen_pcie_aer_op aer_op;
};

#endif /* __XEN_PCI_COMMON_H__ */

Annotation

Implementation Notes