linux驱动 pci笔记
来源:互联网 发布:js 文字相似度 编辑:程序博客网 时间:2024/05/16 09:56
pci遍历的顺序,第一个桥的系统号是0,深度优先. pci桥也是一种设备,当遍历到的设备是桥的时候产生系统号1,并且,这个总线上的
设备的系统号就是1,以此类推,当遍历到的设备又是桥的时候产生系统号2,挂载在这个总线设备上的设备的系统号就是2,
不同厂商的pci设备都能处理.和平台总线类似,
基地址是一种物理地址需要做映射,为什么是物理地址呢?我以为是一种编号.
static struct pci_driver hamachi_driver = {
name: DRV_NAME,
id_table: hamachi_pci_tbl,
probe: hamachi_init_one,
remove: __devexit_p(hamachi_remove_one),
};
pci_register_driver(&hamachi_driver)//初始化
static struct pci_device_id hamachi_pci_tbl[] __initdata = {
{ 0x1318, 0x0911, PCI_ANY_ID, PCI_ANY_ID, },
{ 0x3319, 0x0911, PCI_ANY_ID, PCI_ANY_ID, },
}
分别是厂商号,设备号,子厂商号,子设备号,其中子厂商号,子设备号为PCI_ANY_ID,表示支持各种子类型,pci可以支持不同厂
商的同一类型设备.当注册驱动时,pci会遍历所有的总线上所有的设备,如果2者之间的id相同,那么就会调用驱动的probe函数.一个
pci设备有一个2个字节的vendor id 一个2个字节的device id .如果设备和驱动厂商号和设备号匹配,那么调用驱动的probe设备.一
设备的系统号就是1,以此类推,当遍历到的设备又是桥的时候产生系统号2,挂载在这个总线设备上的设备的系统号就是2,
不同厂商的pci设备都能处理.和平台总线类似,
基地址是一种物理地址需要做映射,为什么是物理地址呢?我以为是一种编号.
static struct pci_driver hamachi_driver = {
name: DRV_NAME,
id_table: hamachi_pci_tbl,
probe: hamachi_init_one,
remove: __devexit_p(hamachi_remove_one),
};
pci_register_driver(&hamachi_driver)//初始化
static struct pci_device_id hamachi_pci_tbl[] __initdata = {
{ 0x1318, 0x0911, PCI_ANY_ID, PCI_ANY_ID, },
{ 0x3319, 0x0911, PCI_ANY_ID, PCI_ANY_ID, },
}
分别是厂商号,设备号,子厂商号,子设备号,其中子厂商号,子设备号为PCI_ANY_ID,表示支持各种子类型,pci可以支持不同厂
商的同一类型设备.当注册驱动时,pci会遍历所有的总线上所有的设备,如果2者之间的id相同,那么就会调用驱动的probe函数.一个
pci设备有一个2个字节的vendor id 一个2个字节的device id .如果设备和驱动厂商号和设备号匹配,那么调用驱动的probe设备.一
个pci驱动中可以处理很类型或者不同厂商的设备,hamachi_pci_tbl[] 中可以存放很多厂商号和设备号.
总线这一种驱动模型,就是为了,增加了程序的可移植性,实现热插拔,便于匹配驱动程序,一个输入子系统驱动也是是一个平台驱动, 一个pci总线设备也可以是一个网卡设备
- linux驱动 pci笔记
- linux pci网卡驱动
- Linux pci驱动分析
- Linux pci驱动源码
- Linux PCI设备驱动
- Linux Pci 驱动开发
- Linux Pci 驱动开发
- Linux Pci 驱动开发
- linux驱动子系统--PCI
- linux pci/pcie驱动
- Linux驱动结构学习笔记 pci之pci_dev
- linux下 PCI驱动实现
- Linux PCI驱动的编写
- Linux PCI驱动的编写
- 浅谈Linux PCI设备驱动
- 浅谈Linux PCI设备驱动
- linux pci驱动(转)
- Linux设备驱动---PCI总线
- 第9周项目2--构建菜单
- 数据结构之(图之最小生成树)Kruskal(克鲁斯卡尔)算法
- 计算机求职总结--准备篇
- 百度云网盘 360云盘 金山快盘 等 + Git GUI 实现代码版本管理-个人篇
- C语言 杭电POJ 1092 A+B for Input-Output Practice (IV)
- linux驱动 pci笔记
- 日期-时间的联动
- Textbox只留下边框线
- Android中的Handler总结
- linux window 换行符号
- linux 驱动-输入系统-触摸屏字符类型的驱动.biji
- 改变自己,永不会晚!
- 第9周项目3--个人所得税计算器
- 编译原理实验2-递归下降分析法