作者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