[libvirt] [Qemu-devel] virtio serial device problem

Li Zhang zhlcindy at gmail.com
Thu May 9 07:10:34 UTC 2013


On 2013年05月09日 14:31, Alexey Kardashevskiy wrote:
> On 05/09/2013 04:07 PM, Li Zhang wrote:
>> On 2013年05月08日 23:53, fred.konrad at greensocs.com wrote:
>>>> On 05/07/2013 07:50 PM, Paolo Bonzini wrote:
>>>>> Il 07/05/2013 09:20, Li Zhang ha scritto:
>>>>>> Hi all,
>>> Hi,
>>>>>> When we use the latest version of QEMU to build ovirt,
>>>>>> we get this error reported from libvirt.
>>>>> What QEMU commit is this?
>>>> b3e6d591b05538056d665572f3e3bbfb3cbb70e7
>>> This commit is from 05/29 no?
>>>
>>> there were issues with that. But it should be fixed.
>>>
>>> Do you still have the command-line issue with the last git?
>>>
>>> See commit 80270a19685dd20eda017b0360c743b3e3ed6f57
>> Hi Fred,
>>
>> This patch is to change bus which can be compatible with old version, right?
>> But I saw the current name is still different from old version.
>>
>> The current name is: "virtio-serial-bus0.0"
>> The old version is: "virtio-serial0.0"
>>
>> Is it possible to change it back to the old name?
>
> This is what the most recent qemu produces:
>
>      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-bus
>            type virtio-pci-bus
>            dev: virtio-serial-device, id ""
>              max_ports = 31
>              bus: virtio-serial0.0
>                type virtio-serial-bus
>                dev: virtserialport, id "channel0"
>                  chardev = charchannel0
>                  nr = 1
>                  name = "com.redhat.rhevm.vdsm"
>                  port 1, guest off, host off, throttle off
>
>
> The device layout is new, the bus name is old - "virtio-serial0.0",
> everything should be ok now.
>
>

Alexey, thanks.
It seems that both of them can be recognized. :)

>> Thanks. :)
>> --Li
>>> Thanks,
>>> Fred
>>>
>>>>> 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.
>>>>
>>>>
>>>>
>>>>> 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
>>>>>>
>>>>>>
>>>>>>
>>>> -- 
>>>> Alexey Kardashevskiy
>>>> IBM OzLabs, LTC Team
>>>>
>>>> e-mail: aik at au1.ibm.com
>>>> notes: Alexey Kardashevskiy/Australia/IBM
>>>>
>>>>
>>>>
>




More information about the libvir-list mailing list