[PATCH RFC 0/4] Expose Expose IOMMU and VFIO host capabilities

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

 



*** NOT FOR UPSTREAM MERGE ***

This is pure RFC, that's why it contains just code without any documentation,
RNG schemas, tests, ..., with sparse commit messages. I just want to make sure
I'm on the right track this time.

BTW: The ACL issue on the command is still not resolved and honestly, I've no
solution. Long story short, with this API I'm introducing users with RO
connection can execute arbitrary files on the host. Isn't that just nice?

So, what you should see after these patches are applied? Something like this:

virsh # domcapabilities /usr/bin/qemu-system-x86_64 kvm
<emulatorCapabilities>
  <path>/usr/bin/qemu-system-x86_64</path>
  <domain>kvm</domain>
  <machine>pc-i440fx-2.1</machine>
  <arch>x86_64</arch>
  <vcpu>255</vcpu>
  <devices>
    <disk supported='yes'>
      <enum name='diskDevice'>
        <value>disk</value>
        <value>cdrom</value>
        <value>floppy</value>
        <value>lun</value>
      </enum>
      <enum name='bus'>
        <value>ide</value>
        <value>fdc</value>
        <value>scsi</value>
        <value>virtio</value>
        <value>xen</value>
        <value>usb</value>
        <value>sd</value>
      </enum>
    </disk>
    <hostdev supported='yes'>
      <enum name='mode'/>
      <enum name='startupPolicy'>
        <value>default</value>
        <value>mandatory</value>
        <value>requisite</value>
        <value>optional</value>
      </enum>
      <enum name='subsysType'>
        <value>usb</value>
        <value>pci</value>
        <value>scsi</value>
      </enum>
      <enum name='capsType'/>
      <enum name='pciBackend'>
        <value>default</value>
        <value>kvm</value>
        <value>vfio</value>
      </enum>
    </hostdev>
  </devices>
</emulatorCapabilities>


Michal Privoznik (4):
  Introduce domain_capabilities
  Introduce virConnectGetDomainCapabilities
  virsh: expose virConnectGetDomainCapabilities
  qemu: Implement virConnectGetDomainCapabilities

 include/libvirt/libvirt.h.in   |   7 ++
 src/Makefile.am                |   1 +
 src/conf/domain_capabilities.c | 217 +++++++++++++++++++++++++++++++++++++++++
 src/conf/domain_capabilities.h |  89 +++++++++++++++++
 src/driver.h                   |   9 ++
 src/libvirt.c                  |  52 ++++++++++
 src/libvirt_private.syms       |   6 ++
 src/libvirt_public.syms        |   1 +
 src/qemu/qemu_capabilities.c   |  82 ++++++++++++++++
 src/qemu/qemu_capabilities.h   |   4 +
 src/qemu/qemu_driver.c         | 102 +++++++++++++++++++
 src/remote/remote_driver.c     |   1 +
 src/remote/remote_protocol.x   |  20 +++-
 src/remote_protocol-structs    |  11 +++
 tools/virsh-host.c             |  84 ++++++++++++++++
 15 files changed, 685 insertions(+), 1 deletion(-)
 create mode 100644 src/conf/domain_capabilities.c
 create mode 100644 src/conf/domain_capabilities.h

-- 
1.8.5.5

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]