summaryrefslogtreecommitdiff
path: root/sys/include/dev/pci
diff options
context:
space:
mode:
Diffstat (limited to 'sys/include/dev/pci')
-rw-r--r--sys/include/dev/pci/pci.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/include/dev/pci/pci.h b/sys/include/dev/pci/pci.h
index 4bfacdd..144b500 100644
--- a/sys/include/dev/pci/pci.h
+++ b/sys/include/dev/pci/pci.h
@@ -54,6 +54,7 @@ struct pci_device {
uint8_t slot;
uint8_t func;
+ uint16_t segment;
uint16_t msix_capoff;
uint16_t device_id;
uint16_t vendor_id;
@@ -61,6 +62,7 @@ struct pci_device {
uint8_t pci_subclass;
uint8_t prog_if;
uint8_t hdr_type;
+ uint8_t pci_express : 1;
uint8_t pri_bus;
uint8_t sec_bus;
@@ -74,7 +76,7 @@ struct pci_device {
struct msi_intr {
const char *name;
- void(*handler)(void *);
+ int(*handler)(void *);
};
pcireg_t pci_readl(struct pci_device *dev, uint32_t offset);
@@ -84,6 +86,8 @@ int pci_map_bar(struct pci_device *dev, uint8_t barno, void **vap);
void pci_writel(struct pci_device *dev, uint32_t offset, pcireg_t val);
int pci_enable_msix(struct pci_device *dev, const struct msi_intr *intr);
+void pci_add_device(struct pci_device *dev);
+
void pci_msix_eoi(void);
int pci_init(void);