libvirt/src/conf
Erik Skultety 88ef73e13c nodedev: Introduce mdev capability for mediated devices
Start discovering the mediated devices on the host system and format the
attributes for the mediated device into the XML. Compared to the parent
device which reports generic information about the abstract mediated
devices types, a child device only reports the type name it has been
instantiated from and the IOMMU group number, since that's device
specific compared to the rest of the info that can be gathered about
mediated devices at the moment.
This patch introduces both the formatting and parsing routines, updates
nodedev.rng schema, adding a testcase as well.

The resulting mdev child device XML:
<device>
  <name>mdev_4b20d080_1b54_4048_85b3_a6a62d165c01</name>
  <path>/sys/devices/.../4b20d080-1b54-4048-85b3-a6a62d165c01</path>
  <parent>pci_0000_06_00_0</parent>
  <driver>
    <name>vfio_mdev</name>
  </driver>
  <capability type='mdev'>
    <type id='vendor_supplied_type_id'/>
    <iommuGroup number='NUM'/>
  <capability/>
<device/>

https://bugzilla.redhat.com/show_bug.cgi?id=1452072

Signed-off-by: Erik Skultety <eskultet@redhat.com>
2017-05-18 12:21:45 +02:00
..
capabilities.c conf: Fix resource leak in virCapabilitiesInitCaches 2017-05-12 06:46:20 -04:00
capabilities.h Add host cache information in capabilities 2017-05-09 13:12:40 +02:00
cpu_conf.c conf: Check CPU cache for ABI stability 2017-05-10 11:20:07 +02:00
cpu_conf.h Add support for CPU cache specification 2017-04-27 22:07:14 +02:00
device_conf.c util: move virInterface(State|Link)/virNetDevFeature from conf to util 2016-06-26 19:33:07 -04:00
device_conf.h make all struct typedefs comply with proposed coding conventions 2017-03-06 13:00:45 -05:00
domain_addr.c qemu: add support for qemu-xhci USB controller 2017-04-28 10:44:36 +02:00
domain_addr.h conf: move VIR_DOMAIN_USB_HUB_PORTS to the header file 2017-01-31 13:09:08 +01:00
domain_audit.c conf: Wire up the vhost-scsi connection from/to XML 2016-11-24 12:22:25 -05:00
domain_audit.h audit: Audit information about shmem devices 2016-09-12 19:41:43 +02:00
domain_capabilities.c conf/domain_capabilities: fix resource leak 2017-04-11 13:23:00 +02:00
domain_capabilities.h qemu: Avoid reporting "host" as a supported CPU model 2016-11-25 20:59:19 +01:00
domain_conf.c conf: add ABI stability checks for IOMMU options 2017-05-15 15:44:12 +02:00
domain_conf.h conf: add caching_mode attribute to iommu device 2017-05-15 15:44:11 +02:00
domain_event.c conf: create new RemovalFailed event using correct class 2017-04-07 14:01:32 +02:00
domain_event.h lib: Introduce event for tracking disk backing file write threshold 2017-03-27 09:29:57 +02:00
domain_nwfilter.c Remove use of nwfilterPrivateData from nwfilter driver 2015-01-27 12:02:03 +00:00
domain_nwfilter.h Remove use of nwfilterPrivateData from nwfilter driver 2015-01-27 12:02:03 +00:00
interface_conf.c conf: Adjust coding style for interface conf sources 2017-03-06 07:07:01 -05:00
interface_conf.h conf: Alter coding style of interface function prototypes 2017-03-06 07:07:01 -05:00
netdev_bandwidth_conf.c conf: Remove NONNULL(1,2) for virNetDevBandwidthFormat 2017-03-22 13:49:59 -04:00
netdev_bandwidth_conf.h conf: Remove NONNULL(1,2) for virNetDevBandwidthFormat 2017-03-22 13:49:59 -04:00
netdev_vlan_conf.c Indent top-level labels by one space in src/conf/ 2014-03-25 14:58:38 +01:00
netdev_vlan_conf.h maint: avoid 'const fooPtr' in conf 2013-10-14 14:34:38 -06:00
netdev_vport_profile_conf.c docs: schema and docs for the midonet virtualport type 2015-03-17 13:09:05 -04:00
netdev_vport_profile_conf.h Rename xml.{c,h} to virxml.{c,h} 2012-12-21 11:19:50 +00:00
network_conf.c network: Adjust coding style for network conf sources 2017-04-18 20:25:27 -04:00
network_conf.h network: Alter coding style of network conf function prototypes 2017-04-18 20:25:30 -04:00
network_event.c events: Add explicit lookup 'key' value 2016-07-01 07:15:38 -04:00
network_event.h event: move event filtering to daemon (regression fix) 2014-02-05 08:03:31 -07:00
networkcommon_conf.c util: move IP route & address object-related functions to virnetdevip.c 2016-06-26 19:33:09 -04:00
networkcommon_conf.h util: move IP route & address object-related functions to virnetdevip.c 2016-06-26 19:33:09 -04:00
node_device_conf.c nodedev: Introduce mdev capability for mediated devices 2017-05-18 12:21:45 +02:00
node_device_conf.h nodedev: Introduce mdev capability for mediated devices 2017-05-18 12:21:45 +02:00
node_device_event.c Introduce node device update event as top level event 2016-08-15 08:30:56 -04:00
node_device_event.h Introduce node device update event as top level event 2016-08-15 08:30:56 -04:00
numa_conf.c qemu, conf: Rename virNumaMemAccess to virDomainMemoryAccess 2017-02-09 14:27:19 +01:00
numa_conf.h conf: Remove NONNULL(1) for virDomainNumaGetNodeCount 2017-03-22 13:49:59 -04:00
nwfilter_conf.c nwfilter: Move creation of configDir to driver initialization 2017-04-26 13:13:18 -04:00
nwfilter_conf.h nwfilter: Replace virNWFilterSaveDef with virNWFilterSaveConfig 2017-04-26 13:13:18 -04:00
nwfilter_ipaddrmap.c Remove pointless storage of var names in virNWFilterHashTable 2014-04-25 15:44:09 +01:00
nwfilter_ipaddrmap.h maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
nwfilter_params.c util: Add a return value to void hash iterators 2016-02-17 12:46:34 +01:00
nwfilter_params.h nwfilter: Change 'index' to 'idx' 2015-04-14 11:18:28 -04:00
object_event_private.h conf: events: Fix coverity warning 2016-08-03 18:45:50 -04:00
object_event.c Clean timer in virObjectEventStateFlush 2016-10-12 12:54:47 +02:00
object_event.h Change virDomainEventState to virObjectLockable 2016-10-12 12:54:47 +02:00
secret_conf.c conf: simplify internal virSecretDef handling of usage 2017-01-09 15:53:49 +00:00
secret_conf.h conf: simplify internal virSecretDef handling of usage 2017-01-09 15:53:49 +00:00
secret_event.c secret: add support for value change events 2017-01-09 16:42:04 +00:00
secret_event.h secret: add support for value change events 2017-01-09 16:42:04 +00:00
snapshot_conf.c qemu: block copy: Forbid block copy to relative paths 2016-12-16 18:30:39 +01:00
snapshot_conf.h conf: add caps to virDomainSnapshotDefFormat 2016-02-05 10:57:39 +00:00
storage_adapter_conf.c conf: Convert virStoragePoolSourceAdapter to virStorageAdapter 2017-03-15 21:17:47 -04:00
storage_adapter_conf.h conf: Convert virStoragePoolSourceAdapter to virStorageAdapter 2017-03-15 21:17:47 -04:00
storage_conf.c src: fix multiple resource leaks in loops 2017-04-11 13:23:00 +02:00
storage_conf.h conf: Alter coding style of storage conf function prototypes 2017-03-17 14:40:09 -04:00
storage_event.c events: Add explicit lookup 'key' value 2016-07-01 07:15:38 -04:00
storage_event.h Promote storage pool refresh lifecycle event to top level event 2016-06-24 18:26:11 +01:00
virchrdev.c Move src/fdstream to src/util/virfdstream 2017-03-27 13:13:29 +02:00
virchrdev.h conf: Add unix socket support to virChrdevOpen 2013-01-04 18:07:11 -07:00
virdomainobjlist.c virGetDomain: Set domain ID too 2017-04-03 08:35:57 +02:00
virdomainobjlist.h libxl: fix vm lock overwritten bug 2016-06-13 13:34:37 +02:00
virinterfaceobj.c interface: Introduce virInterfaceObjGetNames 2017-04-10 07:30:00 -04:00
virinterfaceobj.h interface: Introduce virInterfaceObjGetNames 2017-04-10 07:30:00 -04:00
virnetworkobj.c network: Use consistent function name prefixes for virnetworkobj 2017-04-18 20:25:38 -04:00
virnetworkobj.h network: Use consistent function name prefixes for virnetworkobj 2017-04-18 20:25:38 -04:00
virnodedeviceobj.c nodedev: Introduce the mdev capability to a PCI parent device 2017-05-18 12:21:33 +02:00
virnodedeviceobj.h nodedev: Pass driver arg by ref 2017-04-10 07:36:26 -04:00
virnwfilterobj.c virNWFilterObjListFree: Don't leak nwfilters->objs 2017-05-05 08:49:15 +02:00
virnwfilterobj.h nwfilter: Make _virNWFilterObjList private 2017-04-26 13:13:18 -04:00
virsecretobj.c secret: Combine virSecretObjListAdd with Locked function 2017-04-26 13:27:15 -04:00
virsecretobj.h secret: Rename 'filter' to 'aclfilter' 2017-04-26 13:27:15 -04:00
virstorageobj.c conf: Check for storage conflicts across pool types 2017-04-13 10:10:39 -04:00
virstorageobj.h storage: Pass driver arg by ref 2017-04-11 08:49:51 -04:00