Re: [PATCH v5 0/4] qemu: Allow PCI virtio on ARM "virt" machine

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/17/2015 07:27 AM, Pavel Fedin wrote:
> Virt machine in qemu since v2.3.0 has PCI generic host controller, and
> can use PCI devices. This provides performance improvement as well as
> vhost-net with irqfd support for virtio-net. However libvirt currently
> does not allow ARM virt machine to have PCI devices. This patchset adds
> the necessary support.
> 
> Changes since v4:
> - Rebased onto current master
> - Added possibility to plug virtio-net-pci adapter directly into PCIe bus.
>   This is necessary for irqfds to work in qemu.
> Changes since v3:
> - Capability is based not on qemu version but on support of "gpex-pcihost"
>   device by qemu
> - Added a workaround, allowing to pass "make check". The problem is that
>   test suite does not build capabilities cache. Unfortunately this means
>   that correct unit-test for the new functionality currently cannot be
>   written. Test suite framework needs to be improved.
> Changes since v2:
> Complete rework, use different approach
> - Correctly model PCI Express bus on the machine. It is now possible to
>   explicitly specify <address-type='pci'> with attributes. This allows to
>   attach not only virtio, but any other PCI device to the model.
> - Default is not changed and still mmio, for backwards compatibility with
>   existing installations. PCI bus has to be explicitly specified.
> - Check for the capability in correct place, in v2 it actually did not
>   work
> Changes since v1:
> - Added capability based on qemu version number
> - Recognize also "virt-" prefix
> 
> Pavel Fedin (4):
>   qemu: Introduce QEMU_CAPS_OBJECT_GPEX
>   Add PCI-Express root to ARM virt machine
>   Build correct command line for PCI NICs on ARM
>   Allow to plug virtio-net-pci into PCIe slot

I was a bit confused about the patches that landed; I see now that they only
add a PCI controller for modern -M virt, but don't change the virtio defaults
to use it. This is good, and in my brief testing doesn't cause any regressions
with current virt-manager. We can figure out later if/how to change the
bus=virtio or model=virtio default to use PCI instead of virtio-mmio

But yeah, we need to figure out that test case issue. There's already a
regression with git head:

$ sudo virsh create test-aarch64.xml
error: Failed to create domain from test-aarch64.xml
error: internal error: autogenerated dmi-to-pci-bridge options not set

XML attached. I'm guessing this is one of Laine's patches, CCd

- Cole

<domain type="qemu">
  <name>rhel7.0-aarch64-2</name>
  <uuid>94b59510-6a9f-4c08-bf6b-f906642a5473</uuid>
  <memory>1048576</memory>
  <currentMemory>1048576</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch="aarch64" machine="virt">hvm</type>
    <loader readonly="yes" type="pflash">/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw</loader>
    <boot dev="cdrom"/>
    <boot dev="hd"/>
  </os>
  <cpu mode="custom" match="exact">
    <model>cortex-a57</model>
  </cpu>
  <clock offset="utc"/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>destroy</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/bin/qemu-system-aarch64</emulator>
  </devices>
</domain>
--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]