Linux中的PCI驱动总结

Linux中的PCI驱动总结,第1张

l Pci驱动注册

Pci_register_driver(struct pci_driver *drv)

Static struct pci_driver pci_driver= {

.name = DRV_NAME,

.id_table = pci_pci_tbl,

.probe = pci_init_one,

.remove = _devexit_p(pci_remove_one),

}

l Pci配置空间

Pci_read_config_byte/word/dword(struct pci_dev *pdev,int offset,int *value)

Pci_write_config_byte/word/dword(struct pci_dev *pdev,int offset,int *value)

l Pci的I/O和内存空间

Pci_resource_start(struct pci_dev *dev,int bar) bar的范围0-5;功能:从配置区相应寄存器得到I/O区域的基址

Pci_resource_length(struct pci_dev *dev,int bar)bar的范围0-5;功能:从配置区相应寄存器得到I/O区域的内存区域长度

Request_mem_fegion(io_base,length,name)申请I/O端口

Request_mem_region(io_base,length,name)释放I/O端口

Pci_enable_device启用设备的I/O

Pci_set_master设定设备工作在总线主设备模式

虚拟机的LINUX对应的硬件平台是虚拟出来的硬件,PCI插槽设备是物理机硬件,是实实在在的硬件,在虚拟机下是不能识别物理机的硬件的,所有的虚拟机下的系统识别的都只是虚拟机软件虚拟出来的硬件.


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7250315.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存