-
PCI BAR简介
PCI设备都有独立的配置空间,HOST主桥通过配置读写事务访问这段空间。PCI设备的配置空间大小为256字节,其中头部64字节为PCI标准规定,剩余部分为PCI设备自定义的。PCI配置空间头部包含6个BAR(Base Address Registers)寄存器,BAR寄存器保存了PCI设备使用的地址空间的类型(Memory 空间或者I/O 空间),基地址以及其他属性。其中基地址保存的是该设备在PCI总线域中的地址,但在x86中一般与存储器域地址直接相等。
PCI设备复位之后,该寄存器将存放PCI设备需要使用的基址空间大小,这段空间是I/O空间还是Memory空间,如果是Memory空间该空间是否预取。当BAR寄存器映射到Memory空间时,Bit 0等于0,如图1.1所示。当BAR寄存器映射到I/O空间时,Bit 0等于1,如图1.2所示。
图 1.1 Memory Space的BAR寄存器