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

Re: [libvirt] virtio serial device problem



On 2013年05月07日 21:05, Alexey Kardashevskiy wrote:
On 05/07/2013 07:50 PM, Paolo Bonzini wrote:
Il 07/05/2013 09:20, Li Zhang ha scritto:
Hi all,

When we use the latest version of QEMU to build ovirt,
we get this error reported from libvirt.
What QEMU commit is this?

b3e6d591b05538056d665572f3e3bbfb3cbb70e7


Our QEMU tree syncs with upstream, right?

It might have been fixed already.
Hm. From what I see, it is all correct from the qemu side, the problem is
in libvirt which does not know about "virtio-pci-bus" yet.


Yes, from qtree, virtserialport is under virtio-serial-bus.0.

virtio-serial0.0
|
virtio-serial-bus.0
|
virtserialport

But libvirt set this device on virt-serial0.0 bus directly which is old way in QEMU.

virtio-serial0.0
|
virtserialport



Paolo

qemu-system-ppc64: -device
virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.rhevm.vdsm:

Bus 'virtio-serial0.0' is full
qemu-system-ppc64: -device
virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.rhevm.vdsm:

Bus 'virtio-serial0.0' not found

Libvirt helps create QEMU command line and put virtserialport device to
bus virtio-serial0.0.
For latest version of QEMU, the bus type is changed.

(qemu) info qtree
bus: main-system-bus
   type System
   dev: spapr-pci-host-bridge, id ""
     index = 0
     buid = 0x800000020000000
     liobn = 0x80000000
     mem_win_addr = 0x100a0000000
     mem_win_size = 0x20000000
     io_win_addr = 0x10080000000
     io_win_size = 0x10000
     msi_win_addr = 0x10090000000
     irq 0
     bus: pci
       type PCI
       dev: virtio-serial-pci, id "virtio-serial0"
         ioeventfd = on
         vectors = 2
         class = 0x780
         indirect_desc = on
         event_idx = on
         max_ports = 31
         addr = 03.0
         romfile = <null>
         rombar = 1
         multifunction = off
         command_serr_enable = on
         class Class 0780, addr 00:03.0, pci id 1af4:1003 (sub 1af4:0003)
         bar 0: i/o at 0xffffffffffffffff [0x1e]
         bar 1: mem at 0xffffffffffffffff [0xffe]
         bus: virtio-serial0.0
           type virtio-pci-bus
           dev: virtio-serial-device, id ""
             max_ports = 31
             bus: virtio-serial-bus.0
               type virtio-serial-bus
               dev: virtserialport, id "channel1"
                 chardev = charchannel1
                 nr = 2
                 name = "org.qemu.guest_agent.0"
                 port 2, guest off, host off, throttle off
               dev: virtserialport, id "channel0"
                 chardev = charchannel0
                 nr = 1
                 name = "com.redhat.rhevm.vdsm"
                 port 1, guest off, host off, throttle off


But we tried to replace virtio-serial0.0 with virtio-serial-bus.0,
SLOF crashes. It still doesn't work at all.

Does anyone know how to use virtserialport in QEMU command line?
If configuration is changed in QEMU, libvirt also needs to change it
accordingly.

Thanks. :)
--Li






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