首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >QEMU如何通过PCI卡?

QEMU如何通过PCI卡?
EN

Unix & Linux用户
提问于 2013-10-18 11:38:24
回答 1查看 10.6K关注 1票数 2

我正试图访问QEMU上的PCI WiFi适配器,模拟vexpress-a9板。

下面是教程,它与运行在qemu上的来宾计算机共享主机的通切PCI卡。但我认为它不适用于qemu-系统臂。

  • 是否可以使用为V快递-A9通过PCI?
  • 在客户操作系统中,有任何方法可以作为USB设备访问PCI卡吗?还是客户操作系统中的主机USB设备?

我正在做的事情是:

代码语言:javascript
运行
复制
$ qemu-system-arm \
-kernel ./zImage \
-M vexpress-a9 \
-cpu cortex-a9 \
-m 1024 \
-smp 2 \
-serial stdio \
-append "root=/dev/mmcblk0p1 rootfstype=ext4 rw raid=noautodetect console=ttyAMA0,38400n8 rootwait devtmpfs.mount=0 vmalloc=256MB mem=1024M" \
-sd ./vexpress-quantal.img
EN

回答 1

Unix & Linux用户

发布于 2013-10-18 13:05:15

确保您完成了文档的本节( 13.3.4.PCI通 )中概述的步骤,标题为:第13章.使用qemu运行虚拟机

节选

程序13.1.配置PCI通过

  1. 确保在主机的运行内核中设置了CONFIG_DMAR_DEFAULT_ON:$ grep CONFIG_DMAR_DEFAULT_ON /CONFIG_DMAR_DEFAULT_ON/config-uname -r(如果没有设置此选项),编辑引导加载程序配置并添加intel_iommu=on (英特尔机器)或iommu=pt iommu=1 (iommu=pt iommu=1)。然后重新启动主机。
  2. 检查主机上是否已激活和识别IOMMU。在英特尔机器上运行dmesg \ grep -e -e -e IOMMU,或在AMD机器上运行dmesg _ grep AMD-Vi。如果没有输出,请仔细检查硬件是否支持IOMMU (VT),并检查BIOS中是否启用了它。
  3. 标识要分配给来宾的主机PCI设备。tux@vmhost:~> lspci -nn ... 00:1b.0音频设备0403:Intel公司8280 1H (ICH8系列)\ HD音频控制器8086:284 b ...记下设备(00:1b.0)和供应商(8086:284 b) ID。
  4. 从主机内核驱动程序中解除设备绑定,并将其绑定到PCI存根驱动程序。/sys/bus/pci/devices/0000:00:1b.0/driver/unbind pci_stub tux@vmhost:~>回波"8086 284 b“>/sys/bus/pci/ tux@vmhost:~> /pci-stub/新id tux@vmhost:~>回波"0000:00:1b.0”>pci_stub tux@vmhost:~> echo "0000:00:1b.0“>/sys/bus/pci/tux@vmhost:~>/pci-stub/绑定
  5. 现在运行VM并分配PCI设备。qemu-kvm ... -device pci-assign,host=00:1b.0

QEMU/KVM ARM支持

根据版本1.5和1.6的变更量,支持ARM的方式如下:

1.5

  • 此版本最初支持ARM体系结构的KVM。这需要一个3.9或更高版本的Linux内核和一个Cortex-A15 CPU。
  • Zynq板提供SD主机控制器接口。
  • VersatilePB和Realview板的PCI控制器模型在功能上得到了显著改进(包括MMIO支持和正确的PCI映射)。请注意,Linux内核目前没有利用这一点;但是,我们自动检测希望出现一个旧的、坏掉的QEMU行为的内核,然后返回到它。(如果绝对有必要的话,可以使用"-global mapping_pci.rupt-irq- can =1“强制使用旧的IRQ行为。)
  • 已修正了拇指模式下SRS指令的错误处理。
  • 与以前的版本相比,ARM目标的TCG仿真性能得到了提高。
  • 迁移和vm保存/加载现在正确地工作在vexpress-a15和vexpress-a9模型上。

1.6

  • 支持用于负载获取/存储发布的32位ARMv8 LDA/STL指令(仅适用于-cpu any);新的v8指令的其余部分将在未来的版本中遵循。
  • vexpress-a9和vexpress-a15板通过virtio传输为virtio设备提供实验支持。请注意,与x86系统一起使用的virtio命令行将无法工作,因为它们将创建PCI virtio设备;而是使用“virtio-blk-设备”、“virtio设备”等设备。请注意,此功能可能在以后的版本中发生更改。
  • -initrd选项现在接受带有的ramdisks。
  • 现在支持Calxeda ECX-2000 / Midway系统的模型(“中途”)。
票数 5
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/96606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档