[libvirt] Developing libvirt for virtual devices like virtual printers

Ján Tomko jtomko at redhat.com
Tue Feb 13 16:49:20 UTC 2018


On Thu, Feb 08, 2018 at 09:20:40AM +0530, Deepti S wrote:
>Hi,
>
>I have a couple of questions.
>
>-  I am a new libvirt code developer. I have just cloned the repo and I am
>looking for a suitable debugger/IDE which will help me debug the code.
>
>-  I work in developing and creating virtual printers with display, with
>QEMU as the hypervisor (no KVM-only Qemu).
>   Currently we have our own application to manage the virtual printers.
>Our plan is to migrate to libvirt, and enable our application to use the
>libvirt APIs.
>
>   libvirt code currently looks to be specialized in pure OS-specific
>guests (like PCs), and I hit snags where there are manadatory devices added
>which a virtual printer does not need.
>
>   Are there any developers who are looking into customized virtual
>devices? I would like to knowledge share with them.
>
>  The intention is to provide new libvirt APIs whenever there is such a
>snag and thus enable libvirt to be used for managing virtual printers.
>
>-  One issue that we are seeing is with regard to USB Host Controller:
>   We have a customized model of ehci USB Host Controller (named
>nr52_ehci_usb) in qemu (locally built).
>   When I add the custom value (n552_ehci_usb) of the host controller as
>the "model" type in my dom xml, virsh define <xml> fails with invalid model
>type error.
>

If you have created a new USB controller model then you'll have to patch
libvirt as well. Note that unless the USB controller is merged in
upstream QEMU, the patch adding it can't be merged in libvirt either.

Alternatively, you can stop libvirt from adding -usb by using:
<controller type='usb' model='none'/>
This might let you work around lacking libvirt support via
<qemu:commandline>.

>    I remove the usb controller entry from the xml, and add "-usb" as a
>"qemucommandline" parameter, but then libvirt adds the device lsi (-device
>lsi,id=scsi0 -usb), and the virsh create command fails with:
>     "-device lsi,id=scsi0 No PCI bus found for lsi53c895a".
>

A SCSI controller should not be added by libvirt automatically unless SCSI
devices are present.

>   The board we have created in QEMU does not have PCI bus implemented.
>

If this is a completely new machine type, then you very probably will
need to patch libvirt to add support for it.

Jan

>   I am interested in the code related to host controllers.
>
>   Is there any way I can get my usb host controller to be recognized by
>libvirt?
>   Is there a way I can prevent lsi device from getting added when I make
>-usb a qemu command line parameter?
>
>Regards,
>Deepti

>--
>libvir-list mailing list
>libvir-list at redhat.com
>https://www.redhat.com/mailman/listinfo/libvir-list

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20180213/aabebaab/attachment-0001.sig>


More information about the libvir-list mailing list