summaryrefslogtreecommitdiff
path: root/src/include/device/pci.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/device/pci.h')
-rw-r--r--src/include/device/pci.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/include/device/pci.h b/src/include/device/pci.h
index 3cc2c64e4f..f1ab91bbc7 100644
--- a/src/include/device/pci.h
+++ b/src/include/device/pci.h
@@ -56,6 +56,20 @@ struct pci_driver {
const unsigned short *devices;
};
+struct msix_entry {
+ union {
+ struct {
+ u32 lower_addr;
+ u32 upper_addr;
+ };
+ struct {
+ u64 addr;
+ };
+ };
+ u32 data;
+ u32 vec_control;
+};
+
#ifdef __SIMPLE_DEVICE__
#define __pci_driver __attribute__((unused))
#else
@@ -104,6 +118,10 @@ void pci_assign_irqs(unsigned int bus, unsigned int slot,
const char *get_pci_class_name(struct device *dev);
const char *get_pci_subclass_name(struct device *dev);
+size_t pci_msix_table_size(struct device *dev);
+int pci_msix_table_bar(struct device *dev, u32 *offset, u8 *idx);
+struct msix_entry *pci_msix_get_table(struct device *dev);
+
#define PCI_IO_BRIDGE_ALIGN 4096
#define PCI_MEM_BRIDGE_ALIGN (1024*1024)