Add support for AP card devices, AP queues and AP matrix devices in libvirt node device driver. --- v4: - Added virNodeDevAPAdapterParseXML function to extract the adapter parsing logic. - Modified according to review comments. - New patch to mention support for AP devices in NEWS.rst. v3: - Modify schema definition of ap-adapter to support hex values alone. - Modify schema definition of ap-domain to support hex values alone. - Verify domain value of AP queue device to be within the supported range during parsing. - Re-organized patches 6 and 10 according to review comment. - Minor changes according to review comments. v2: - The tests included in the patches to detect the node devices (AP card, AP queues and AP matrix) are moved to separate patches. These patches are not divided further due to the following reasons: - The previous patches that add support for node devices in libvirt are not divided further into smaller patches (eg: 53aec799fa31711ffaeacc7ec17ec6d3c2e3cadf). - It would be easier to identify the patches relevant to support AP node devices. - The number of lines in each of these patches are around 125, which is not too much. - Modified according to review comments. - New patch to detect mdev_types capabilty of AP matrix device is added to this patch series. Boris Fiuczynski (1): node_device: detecting mdev_types capability on ap_matrix device Farhan Ali (1): virsh: nodedev: Filter by AP card and AP queue capabilities Shalini Chellathurai Saroja (10): nodedev: detect AP card device tests: AP card node device nodedev: detect AP queues tests: AP queue node device nodedev: detect AP matrix device tests: AP matrix node device virsh: nodedev: filter by AP Matrix capability node_device: refactor address retrieval of node device node_device: mdev matrix support NEWS: mention node device driver support for AP devices NEWS.rst | 6 + docs/formatnode.html.in | 48 +++- docs/manpages/virsh.rst | 2 +- docs/schemas/nodedev.rng | 46 ++++ include/libvirt/libvirt-nodedev.h | 3 + src/conf/node_device_conf.c | 213 ++++++++++++++++++ src/conf/node_device_conf.h | 41 +++- src/conf/virnodedeviceobj.c | 13 +- src/libvirt-nodedev.c | 3 + src/libvirt_private.syms | 1 + src/node_device/node_device_driver.c | 33 ++- src/node_device/node_device_udev.c | 80 +++++++ tests/nodedevschemadata/ap_07_0038.xml | 9 + tests/nodedevschemadata/ap_card07.xml | 8 + tests/nodedevschemadata/ap_matrix.xml | 7 + .../ap_matrix_mdev_types.xml | 14 ++ ...v_ee0b88c4_f554_4dc1_809d_b2a01e8e48ad.xml | 9 + tests/nodedevxml2xmltest.c | 5 + tools/virsh-nodedev.c | 9 + 19 files changed, 544 insertions(+), 6 deletions(-) create mode 100644 tests/nodedevschemadata/ap_07_0038.xml create mode 100644 tests/nodedevschemadata/ap_card07.xml create mode 100644 tests/nodedevschemadata/ap_matrix.xml create mode 100644 tests/nodedevschemadata/ap_matrix_mdev_types.xml create mode 100644 tests/nodedevschemadata/mdev_ee0b88c4_f554_4dc1_809d_b2a01e8e48ad.xml -- 2.26.2