我知道PCI和PCIe设备可以由CPU(通过BIOS或OS中的代码)配置以响应某些物理存储器地址,方法是写入特定区域该设备的配置空间。
事实上,linux内核有这样做是考虑到很多的设备的要求(内存对齐,DMA能力等)相当复杂的算法。CPU如何知道PCI地址空间
眼看软件似乎是在是否,何时,何处该内存映射,我的问题是控制:如何能在物理内存块软件控制映射的?
此配置后,PCI设备就知道给定的地址范围做出反应,但如何在CPU知道它应该在PCI总线上对于刚刚动态确定这些具体地址?
我知道PCI和PCIe设备可以由CPU(通过BIOS或OS中的代码)配置以响应某些物理存储器地址,方法是写入特定区域该设备的配置空间。
事实上,linux内核有这样做是考虑到很多的设备的要求(内存对齐,DMA能力等)相当复杂的算法。CPU如何知道PCI地址空间
眼看软件似乎是在是否,何时,何处该内存映射,我的问题是控制:如何能在物理内存块软件控制映射的?
此配置后,PCI设备就知道给定的地址范围做出反应,但如何在CPU知道它应该在PCI总线上对于刚刚动态确定这些具体地址?
您可以加入一个链接从Linux内核源(Web视图),该算法? – n611x007