阿鼻道68 发表于 2013-10-30 16:43

linux X86_64 PCI驱动求教,棘手问题!

本帖最后由 阿鼻道68 于 2013-10-30 16:43 编辑

本人是菜鸟,毫无疑问的菜鸟,在测试PCI驱动的时候出现如下问题:
内核版本:2.6.18 x86_64
PCI驱动程序中,在对DMA进行一致性映射的时候调用pci_alloc_consistent函数,如下:
//alloc consistent DMA buffer
jmk_priv.dma_buffer=pci_alloc_consistent(pdev,PKT_LEN*2,&jmk_priv.dma_buffer_t);
其总线地址返回值jmk_priv.dma_buffer_t位数大于32位,因此我在向PCI设备PCIMA寄存器写入该地址的时候导致溢出,只写入低32bit地址,因此PCI设备未能正确读取PC内存的正确数据,请问各位大牛,有什么方法解决此问题,或者怎么才能把总线地址返回值jmk_priv.dma_buffer_t固定在PCI设备寻址范围?

阿鼻道68 发表于 2013-10-31 09:31

没有人来回答吗?还是提问的不清楚?
页: [1]
查看完整版本: linux X86_64 PCI驱动求教,棘手问题!