pci_resource_start 是如何得到PCI的物理地址的
主要是针对linux系统。
#define pci_resource_start(dev,bar) ((dev)->resource[(bar)].start)
设备的resource是在什么时候被初始化的?这个值又是从哪里得到的呢?
根据网上一些资料我说一下我的理解:linux系统启动时pci核心模块扫描到外面的PCI设备然后根据其配置空间基地址得到要申请的内存空间大小,然后CPU根据pci_resource_start返回的物理地址映射一块内存空间并将内存块的基地下写回到pci的配置空间。然后CPU操作该内存空间就可以操作pci的寄存器了。那么现在的问题就是,pci_resource_start这个返回的物理地址到底是怎么得来的呢???