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
>>
>>
>>