Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1507750
  • 博文数量: 487
  • 博客积分: 161
  • 博客等级: 入伍新兵
  • 技术积分: 5064
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-01 07:37
个人简介

只有偏执狂才能生存

文章分类

全部博文(487)

文章存档

2016年(10)

2015年(111)

2014年(66)

2013年(272)

2012年(28)

分类: LINUX

2013-04-24 19:28:00

内核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

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