Hi, This series supports crypto device, also add support for QEMU. The basic xml schema looks like: <crypto model='virtio' type='qemu'> <backend model='builtin' queues='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/> </crypto> <crypto model='virtio' type='qemu'> <backend model='lkcf'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/> </crypto> Each patch has been tested by 'ninja -C build test', and launch a QEMU with crypto devices, it works fine. zhenwei pi (7): docs: introduce crypto device conf: support crypto device domain_capabilities: define capabilities for crypto qemu_capabilities: support crypto qemu: alias: support crypto device qemu: command: support crypto device NEWS: Document 'crypto' device NEWS.rst | 3 + docs/formatdomain.rst | 21 ++ src/conf/domain_capabilities.c | 15 ++ src/conf/domain_capabilities.h | 12 ++ src/conf/domain_conf.c | 191 ++++++++++++++++++ src/conf/domain_conf.h | 40 ++++ src/conf/domain_postparse.c | 1 + src/conf/domain_validate.c | 18 ++ src/conf/schemas/domaincaps.rng | 10 + src/conf/virconftypes.h | 2 + src/libvirt_private.syms | 1 + src/qemu/qemu_alias.c | 23 +++ src/qemu/qemu_capabilities.c | 32 +++ src/qemu/qemu_capabilities.h | 8 + src/qemu/qemu_command.c | 109 ++++++++++ src/qemu/qemu_domain.c | 3 + src/qemu/qemu_domain_address.c | 26 +++ src/qemu/qemu_driver.c | 5 + src/qemu/qemu_hotplug.c | 3 + src/qemu/qemu_validate.c | 22 ++ .../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 11 + .../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 11 + .../qemu_4.2.0-virt.aarch64.xml | 11 + tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 11 + tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 11 + tests/domaincapsdata/qemu_4.2.0.s390x.xml | 11 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 11 + .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 11 + .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 11 + .../qemu_5.0.0-virt.aarch64.xml | 11 + tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 11 + tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 11 + tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 11 + .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 11 + .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 11 + tests/domaincapsdata/qemu_5.1.0.sparc.xml | 9 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 11 + .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 11 + .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 11 + .../qemu_5.2.0-virt.aarch64.xml | 11 + tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 11 + tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 11 + tests/domaincapsdata/qemu_5.2.0.s390x.xml | 11 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 11 + .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 11 + .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 11 + .../qemu_6.0.0-virt.aarch64.xml | 11 + tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 11 + tests/domaincapsdata/qemu_6.0.0.s390x.xml | 11 + tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 11 + .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 11 + .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 11 + tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 11 + .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 11 + .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 11 + .../qemu_6.2.0-virt.aarch64.xml | 11 + tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 11 + tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 11 + tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 11 + .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 11 + .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 11 + .../qemu_7.0.0-virt.aarch64.xml | 11 + tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 11 + tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 11 + tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 11 + .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 11 + .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 11 + tests/domaincapsdata/qemu_7.1.0.ppc64.xml | 11 + tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 11 + .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 12 ++ .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 12 ++ tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 12 ++ .../caps_4.2.0.aarch64.xml | 2 + .../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 2 + .../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 2 + .../caps_4.2.0.x86_64.xml | 2 + .../caps_5.0.0.aarch64.xml | 2 + .../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 2 + .../caps_5.0.0.riscv64.xml | 2 + .../caps_5.0.0.x86_64.xml | 2 + .../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 + .../caps_5.1.0.x86_64.xml | 2 + .../caps_5.2.0.aarch64.xml | 2 + .../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 2 + .../caps_5.2.0.riscv64.xml | 2 + .../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 2 + .../caps_5.2.0.x86_64.xml | 2 + .../caps_6.0.0.aarch64.xml | 2 + .../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 2 + .../caps_6.0.0.x86_64.xml | 2 + .../caps_6.1.0.x86_64.xml | 2 + .../caps_6.2.0.aarch64.xml | 2 + .../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 2 + .../caps_6.2.0.x86_64.xml | 2 + .../caps_7.0.0.aarch64.xml | 2 + .../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 2 + .../caps_7.0.0.x86_64.xml | 2 + .../qemucapabilitiesdata/caps_7.1.0.ppc64.xml | 2 + .../caps_7.1.0.x86_64.xml | 2 + .../caps_7.2.0.x86_64.xml | 3 + 100 files changed, 1174 insertions(+) -- 2.34.1