Re: [PATCH 3/3] powerpc-virtio: virtio support introduced (block, network, serial, balloon, 9p-fs), both fullemu and power-kvm

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

 



On 17.05.2011, at 08:47, David Gibson wrote:

> From: Alexey Kardashevskiy <aik@xxxxxxxxx>
> 
> The recently added pseries machine does not currently support PCI
> emulation.  For the (upcoming) kvm case, this is quite difficult to do
> because the preferred HV mode for the host kernel does not allow MMIO
> emulation (a hardware limitation).
> 
> Therefore, to support virtio devices, we implement a new virtio setup
> protocol for PAPR guests.  This is based loosely on the s390 and lguest
> methods, using the PAPR hcalls for the virtio primitive operations,
> and the PAPR device tree to advertise the virtio device resources to the
> guest.
> 
> This patch includes support for the virtio block, network, serial, and
> balloon devices, and the 9p filesystem.
> 
> The guest linux kernel should be updated as well in order to
> support a new virtio setup.
> 
> Supported devices are (below are QEMU command line switches):
> 
> - virtio-blk - block device, at the moment works as "IDE":
>    usage: -drive file=test-virtio-blk.img,if=ide
> 
> - virtio-net - network device
>    usage: -net nic,model=virtio-net
> 
> - virtio-balloon - memory hot-swap device (at the moment of commit, power-kvm
> did not support balloon)
>    usage: -device virtio-balloon-spapr
> 
> - virtio-serial - serial bus controller
>    usage: -device virtio-serial-spapr \
>           -chardev socket,id=CONSOLE,host=localhost,port=4444,server,telnet \
>           -device virtconsole,chardev=CONSOLE
>    The first switch tells QEMU to create a serial bus device and next
>    2 switches create "chardev" and virtual console device connected to
>    that "chardev".
> 
> - virtio-9p - plan9 filesystem with ability to work over virtio transport
>    usage: -fsdev fstype=local,id=TAG,path=/home/aik/,security_model=none \
>           -device virtio-9p-spapr,fsdev=TAG,mount_tag=TAG
>    where TAG is a tag which should be used later when mounting is linux as:
>           mount -t 9p -o trans=virtio TAG /mnt
> 
>    Configure for full emulation as:
>       ./configure --target-list=ppc64-softmmu --enable-attr
> 
>    Configure for power-kvm as:
>       ./configure --enable-kvm  --target-list=ppc64-softmmu --enable-fdt \
>                    --cc="gcc -m64" \
>                    --kerneldir=/root/kheaders --enable-io-thread --enable-attr
> 
> Note: --enable-attr is required for 9p support. On ppc64 systems, libattr
> should be compiled and installed manually as it is not distributes in
> 64bit packages.

Before including such a patch, we should really discuss the desired interface for virtio on sPAPR. I personally would prefer if we could have a generic MMIO hypercall that the guest issues, so that we can simply use virtio-pci on sPAPR (and all the other PCI hardware).

But at the end of the day, the steps should be as follows:

  1) Discuss this on the virtualization ML
  2) Send patches for the virtio documentation so the protocol has a spec (which we're lacking for s390 still)
  3) Implement Linux side, upstream it
  4) Upstream Qemu side

Since I haven't seen 1-3, I'd like to defer this patch until the other points are good :)


Alex

_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/virtualization


[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux