+/**
+ * @brief 初始化PCI设备的基地址寄存器。返回由该基地址代表的,
+ * 设备所使用的MMIO或I/O地址空间的,大小。
+ * 参阅:PCI LB Spec. (Rev 3) Section 6.2.5.1, Implementation Note.
+ *
+ * @param dev The PCI device
+ * @param bar_out Value in BAR
+ * @param bar_num The index of BAR (starting from 1)
+ * @return size_t
+ */
+size_t
+pci_bar_sizing(struct pci_device* dev, uint32_t* bar_out, uint32_t bar_num);
+
+/**
+ * @brief 配置并启用设备MSI支持。
+ * 参阅:PCI LB Spec. (Rev 3) Section 6.8 & 6.8.1
+ * 以及:Intel Manual, Vol 3, Section 10.11
+ *
+ * @param device PCI device
+ * @param vector interrupt vector.
+ */
+void
+pci_setup_msi(struct pci_device* device, int vector);
+