X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/bc34fd00d2e81fbc890bb2060ed6693454a230bf..63ba0036aaf8ec77590db47d936942e78ff3ed6f:/lunaix-os/includes/hal/pci.h diff --git a/lunaix-os/includes/hal/pci.h b/lunaix-os/includes/hal/pci.h index 57c04ca..95d5fb8 100644 --- a/lunaix-os/includes/hal/pci.h +++ b/lunaix-os/includes/hal/pci.h @@ -56,6 +56,16 @@ typedef unsigned int pci_reg_t; // PCI device header format // Ref: "PCI Local Bus Specification, Rev.3, Section 6.1" +#define BAR_TYPE_MMIO 0x1 +#define BAR_TYPE_CACHABLE 0x2 + +struct pci_base_addr +{ + uint32_t start; + uint32_t size; + uint32_t type; +}; + struct pci_device { struct llist_header dev_chain; @@ -64,6 +74,7 @@ struct pci_device uint32_t cspace_base; uint32_t msi_loc; uint16_t intr_info; + struct pci_base_addr bar[6]; }; // PCI Configuration Space (C-Space) r/w: @@ -91,9 +102,6 @@ pci_write_cspace(uint32_t base, int offset, pci_reg_t data) void pci_init(); -void -pci_print_device(); - /** * @brief 根据类型代码(Class Code)去在拓扑中寻找一个设备 * 类型代码请参阅: PCI LB Spec. Appendix D.