16#define PCI_MSIX_LEN 0x1000
19#define PCI_MSIX_VECTOR(n) ( (n) * 0x10 )
22#define PCI_MSIX_ADDRESS_LO 0x0
25#define PCI_MSIX_ADDRESS_HI 0x4
28#define PCI_MSIX_DATA 0x8
31#define PCI_MSIX_CONTROL 0xc
32#define PCI_MSIX_CONTROL_MASK 0x00000001
uint8_t data[48]
Additional event data.
uint32_t vector
MSI-X vector.
uint64_t address
Base address.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
int pci_msix_enable(struct pci_device *pci, struct pci_msix *msix)
Enable MSI-X interrupts.
static void pci_msix_mask(struct pci_msix *msix, unsigned int vector)
Mask MSI-X interrupt vector.
void pci_msix_dump(struct pci_msix *msix, unsigned int vector)
Dump MSI-X interrupt state (for debugging)
#define PCI_MSIX_CONTROL_MASK
Vector is masked.
void pci_msix_disable(struct pci_device *pci, struct pci_msix *msix)
Disable MSI-X interrupts.
static void pci_msix_unmask(struct pci_msix *msix, unsigned int vector)
Unmask MSI-X interrupt vector.
void pci_msix_control(struct pci_msix *msix, unsigned int vector, uint32_t mask)
Control MSI-X interrupt vector.
void pci_msix_map(struct pci_msix *msix, unsigned int vector, physaddr_t address, uint32_t data)
Map MSI-X interrupt vector.
void * pba
Pending bit array.
unsigned int cap
Capability offset.
uint32_t * msg
Dummy message target.
struct dma_mapping map
Dummy message target mapping.
unsigned int count
Number of vectors.