如何从内核获取基址寄存器的宏工作原理

时间:2010-11-22 03:08:29

标签: c kernel

我想了解pci_resource_start函数的工作原理 所以我通过cscope浏览代码并搜索字符串pci_resource_start 并在pci.h中得到了关注

 #define pci_resource_start(dev, bar)    ((dev)->resource[(bar)].start)

我无法理解上面的宏是如何工作的。 如何在宏上面获得适当的基地址寄存器 配置空间?

1 个答案:

答案 0 :(得分:5)

宏的目的仅仅是提高源代码的可读性,它不会导致任何地址被检索。事实上,在PCI总线和/或设备被扫描/初始化时,早先就已经发现了地址(由start成员表示)。 (在这种情况下,“开始”也表示“地址范围的开始”而不是“开始做某事”。) 其中一个名为pci.c

的文件最有可能找到详细信息