On 09/10/2012 18:44, Christoffer Dall wrote: > On Tue, Oct 9, 2012 at 5:24 AM, <fred.konrad@xxxxxxxxxxxxx> wrote: >> Hi all, I have been testing out KVM on the ARM a15 board, using virtio-net >> >> I have used the originals patches from here :http://lists.gnu.org/archive/html/qemu-devel/2012-09/msg02467.html . >> >> (Please note, I only tested virtio-net) >> >> For the guest configuration ( kernel menuconfig ) I added : >> >> Device-driver -> Network device support -> Virtio-net >> Virtio-drivers -> Virtio-balloon >> Virtio-drivers -> Platform bus driver for memory mapped virtio devices >> Virtio-drivers -> Memory mapped virtio devices parameter parsing >> Block-devices -> Virtio-block >> Device-drivers -> Character-devices -> Virtio-console >> >> I modified vexpress.c, to add a virt-mmio in place of the network adapter, and the ethernet card is deleted from the dtb. >> >> And this is the QEMU command line : qemu-system-arm -enable-kvm -kernel kernel.bin -dtb ca15.dtb -M vexpress-a15 -cpu cortex-a15 -nographic -append "console=ttyAMA0,38400 virtio_mmio.device=1M@0x4e000000:74:0" -m 512M -device virtio-net,transport=virtio-mmio.0,netdev=net0 -netdev type=tap,id=net0 >> >> The performance is really better with virtio-net than lan9118 : >> >> I tested using the wget command : >> >> FROM HOST : 7.86 MBytes/s >> FROM KVM GUEST WITH VIRTIO-NET : 3.56 MBytes/s >> FROM KVM GUEST WITH LAN9118 : 0.19 MBytes/s >> >> We are now working on the issues quoted in the email above, and on cleaning up the patches: >> >> 1. On creation of back-end we need to resolve somehow if props were explicitly set by user. >> 2. Back-end device can't be initialized if there are no free bus created by transport, so you can't specify >> -device virtio-blk,transport=virtio-pci.0,... >> -device virtio-pci,id=virtio-pci.0 >> 3. Implement virtio-xxx-devices such that they just create virtio-pci and virtio-xxx devices during initialization. >> 4. Refactor all remaining back-ends since I just tried blk, net, serial and balloon. >> 5. Refactor s390 >> > Hi Fred, > > just compiling your patches gives me this error: > > ../hw/virtio-pci-new.c: In function ‘kvm_virtio_pci_vq_vector_use’: > ../hw/virtio-pci-new.c:529:5: error: implicit declaration of function > ‘kvm_irqchip_add_irq_notifier’ [-Werror=implicit-function-declaration] > ../hw/virtio-pci-new.c:529:5: error: nested extern declaration of > ‘kvm_irqchip_add_irq_notifier’ [-Werror=nested-externs] > ../hw/virtio-pci-new.c: In function ‘kvm_virtio_pci_vq_vector_release’: > ../hw/virtio-pci-new.c:550:5: error: implicit declaration of function > ‘kvm_irqchip_remove_irq_notifier’ > [-Werror=implicit-function-declaration] > ../hw/virtio-pci-new.c:550:5: error: nested extern declaration of > ‘kvm_irqchip_remove_irq_notifier’ [-Werror=nested-externs] > cc1: all warnings being treated as errors > make[1]: *** [hw/virtio-pci-new.o] Error 1 > make[1]: *** Waiting for unfinished jobs.... > > > I haven't looked into it yet, but am I using a wrong base to apply the > patches on? > > -Christoffer Hi, I use this one https://github.com/virtualopensystems/qemu.git, as I tested it on the board. But it lacks the older commit Peter mentioned ( Upstream commit b131c74a0 renamed this function sometime last month. ). That's why I modify it for testing ( with patch 12 ). Maybe it was a mistake, I should use the patch Peter mentioned instead on this git ? For using it on qemu-devel, just drop patch 12. Fred _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm