作者privatewind (伤神客)
看板LinuxDev
标题[问题] Virtual device
时间Mon Feb 27 20:17:46 2012
大家好,
小弟最近在想办法於Linux上 创建一个virtual pci device
近来一直在翻阅LDD与linux kernel source下的driver/pci下的原始码
一直没法理解如何创建一个virtual pci device
目前查到的keyword有 struct device 及 device_register
但是就是没法把这两个东西揍在一块,注册一个虚拟pci设备
(也就是电脑上实际上没有这个pci card,注册完後,可以藉由lspci看到它)
请各位版友先进,恳请赐教~
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.252.156
1F:推 askacis:platform_device and platform_driver ? 02/27 23:22
2F:→ privatewind:请问有大神可以给个sample code看一下吗 卡关 >_< 02/29 08:13
3F:→ privatewind:像是device的resource我都不知道要怎麽填= =a 02/29 08:14
4F:推 PCIT:我也想知道,帮忙推一个 02/29 13:23
5F:→ rawpacket:PCI 在 initial 那边就会去 scan 了, 你要顺便改 host 02/29 13:29
6F:→ rawpacket:driver 才可以去写 virtual pci devices 02/29 13:47
7F:→ rawpacket:简单的方法就是去扫一个PCI devices 的 4K 空间, 然後让 02/29 13:48
8F:→ rawpacket:Host 去扫去填就可以了. 02/29 13:48
9F:→ privatewind:楼上版友的意思是我应该去改/linux-src/driver/pci/ 03/01 00:13
10F:→ privatewind:probe.c下中的 pci_scan_device() 03/01 00:15
11F:→ privatewind:不过後面说的扫的pci devices空间 就不是很懂了Q.Q 03/01 00:16
12F:→ privatewind:可以请版友不吝赐教吗 03/01 00:16
13F:→ rawpacket:是的. probe.c 那边你要插 code 进去. 03/02 00:03
14F:→ rawpacket:PCI 有一个 configure space , 你用 # lspci -xxx 就可 03/02 00:03
15F:→ rawpacket:以看到, 不过那是系统己经有修改过了, 你可以找一个设备 03/02 00:04
16F:→ rawpacket:ex: PCI 网卡, 在 probe 之前先去 dump . 03/02 00:04
17F:→ rawpacket:主要的问题还是, 你想要做什麽, 其实这样做没有意思 ^^ 03/02 00:05