Chinaunix首页 | 论坛 | 博客
  • 博客访问: 481594
  • 博文数量: 51
  • 博客积分: 1056
  • 博客等级: 少尉
  • 技术积分: 676
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-10 22:53
文章存档

2018年(2)

2017年(1)

2013年(2)

2012年(9)

2011年(36)

2010年(1)

分类: LINUX

2011-02-15 10:45:49

内核make menuconfig 里的BUS选项里有
< > PCI Stub driver 这个配置,很是好奇它是干什么的
看Kconfig中的help:Say Y or M here if you want be able to reserve a PCI device when it is going to be assigned to a guest operating system.

还是不清楚,看了源代码的注释:
* Usage is simple, allocate a new id to the stub driver and bind the
* device to it. For example:
*
*PCI Stub driver
* # echo “8086 10f5″ > /sys/bus/pci/drivers/pci-stub/new_id
* # echo -n 0000:00:19.0 > /sys/bus/pci/drivers/e1000e/unbind
* # echo -n 0000:00:19.0 > /sys/bus/pci/drivers/pci-stub/bind
* # ls -l /sys/bus/pci/devices/0000:00:19.0/driver
* …/0000:00:19.0/driver -> ../../../bus/pci/drivers/pci-stub
*/

最后想通了,看来嵌入式环境目前还不要此选项。
当你在当前Linux主机上运行时,一个e1000e的Intel PCIe网卡已经和一个e1000e的驱动结合。当你想在主机上再运行一个虚拟机,如KVM。而这个虚拟机又想自己驱动这个e1000e网卡,那就有麻烦了–一个设备只能有一个驱动。
使用PCI Stub ,能够将这个pci设备跟目前绑定的驱动分离,暂时由PCI Stub driver接管,最后交给虚拟机。
操作注释:
# echo “8086 10f5″ > /sys/bus/pci/drivers/pci-stub/new_id

取消e1000e设备跟当前e1000e驱动的绑定
* # echo -n 0000:00:19.0 > /sys/bus/pci/drivers/e1000e/unbind
建立e1000e设备到pci-stub 驱动的绑定
* # echo -n 0000:00:19.0 > /sys/bus/pci/drivers/pci-stub/bind
现在可以看到e1000e设备的驱动已经是pci-stub 了
* # ls -l /sys/bus/pci/devices/0000:00:19.0/driver
* …/0000:00:19.0/driver -> ../../../bus/pci/drivers/pci-stub

阅读(3189) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~