pci桥与cpu内部系统总线相连,产生下一级pci总线;上一级总线与下一级总线通过桥连接;
桥本身也是挂在总线上的一个特殊的设备,最多256条pci总线,每条总线上最多挂32个设备,每个设备最多8种功能;
lspci,查看pci设备信息;
遍历pci桥,深度优先,遍历到一个pci桥紧接着就产生一条新的pci总线;
每个pci设备有一组固定格式的寄存器;
访问pci设备之前需使能设备pci_enable_device;
pci_driver{
id_table ; 支持的设备,由厂商号、设备号确定
probe ;
remove
};
注册驱动时,内核会从pci总线上查找其能处理的设备,找到后会调用驱动的probe函数。match方式是根据id_table中的设备列表;
例如pci的网卡驱动,它的probe函数里面会实现网卡驱动,它是内层的功能驱动,外壳是pci驱动;