在pci设备驱动程序中,我试图在MIPS平台中使用ioread32读取PCI_COMMAND寄存器,但抛出了数据总线错误。我在传入ioread32之前验证了有效参数。对此有何帮助?在这种情况下使用pci_bus_read_config_word是否会阻止数据总线错误?
答案 0 :(得分:0)
这取决于您的平台对配置空间访问的支持。有两种类型的访问 -
1 - 传统PCI配置机制 - 使用IO端口地址访问端点配置空间。您可以使用ioread32() 2 - 增强型PCI配置机制 - 这使用内存映射IO。您可以使用简单的指针操作来读取它。
由于很难找到访问机制支持,因此最好使用pci API(在本例中为pci_bus_read_config_word)而不是使用ioread32()。
pci _ *()API将处理对该平台有效的访问方法。