+#define BAR_TYPE_MMIO 0x1
+#define BAR_TYPE_CACHABLE 0x2
+#define PCI_DRV_NAME_LEN 32
+
+#define EXPORT_PCI_DEVICE(name_, class, vendor_id, dev_id, init_fn) \
+ static struct pci_driver pcidev_##name_ = \
+ (struct pci_driver){ .name = #name_, \
+ .create_driver = (init_fn), \
+ .dev_info = ((vendor_id) << 16) | (dev_id), \
+ .dev_class = (class) }; \
+ export_ldga_el(pci_dev_drivers, name_, ptr_t, &pcidev_##name_)
+
+struct pci_driver;
+
+struct pci_base_addr
+{
+ u32_t start;
+ u32_t size;
+ u32_t type;
+};
+