在pci设备驱动程序中,我正在尝试在MIPS平台中使用ioread32读取PCI_COMMAND寄存器,但抛出了数据总线错误。在传入ioread32之前,我已经验证了有效参数。对此有任何帮助吗?在这种情况下使用pci_bus_read_config_word可以防止数据总线错误吗?
这取决于您的平台对配置空间访问的支持类型。有两种类型的访问 -
1 -旧版 PCI 配置机制- 这使用 IO 端口地址访问端点配置空间。你可以为此使用 ioread32((。
2 -增强的 PCI 配置机制- 这使用内存映射 IO。您可以使用简单的指针操作从中读取。
由于很难找到访问机制支持,因此最好使用 pci API(在本例中为 pci_bus_read_config_word(而不是使用 ioread32((。
pci_*(( API 将负责对该平台有效的访问方法。