linux/include/xen/interface/io/pciif.h

/* SPDX-License-Identifier: MIT */
/*
 * PCI Backend/Frontend Common Data Structures & Macros
 *
 *   Author: Ryan Wilson <[email protected]>
 */
#ifndef __XEN_PCI_COMMON_H__
#define __XEN_PCI_COMMON_H__

/* Be sure to bump this number if you change this file */
#define XEN_PCI_MAGIC

/* xen_pci_sharedinfo flags */
#define _XEN_PCIF_active
#define XEN_PCIF_active
#define _XEN_PCIB_AERHANDLER
#define XEN_PCIB_AERHANDLER
#define _XEN_PCIB_active
#define XEN_PCIB_active

/* xen_pci_op commands */
#define XEN_PCI_OP_conf_read
#define XEN_PCI_OP_conf_write
#define XEN_PCI_OP_enable_msi
#define XEN_PCI_OP_disable_msi
#define XEN_PCI_OP_enable_msix
#define XEN_PCI_OP_disable_msix
#define XEN_PCI_OP_aer_detected
#define XEN_PCI_OP_aer_resume
#define XEN_PCI_OP_aer_mmio
#define XEN_PCI_OP_aer_slotreset

/* xen_pci_op error numbers */
#define XEN_PCI_ERR_success
#define XEN_PCI_ERR_dev_not_found
#define XEN_PCI_ERR_invalid_offset
#define XEN_PCI_ERR_access_denied
#define XEN_PCI_ERR_not_implemented
/* XEN_PCI_ERR_op_failed - backend failed to complete the operation */
#define XEN_PCI_ERR_op_failed

/*
 * it should be PAGE_SIZE-sizeof(struct xen_pci_op))/sizeof(struct msix_entry))
 * Should not exceed 128
 */
#define SH_INFO_MAX_VEC

struct xen_msix_entry {};
struct xen_pci_op {};

/*used for pcie aer handling*/
struct xen_pcie_aer_op {};
struct xen_pci_sharedinfo {};

#endif /* __XEN_PCI_COMMON_H__ */