[PATCH 0/7] Support crypto device

zhenwei pi posted 7 patches 1 year, 4 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
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(+)
[PATCH 0/7] Support crypto device
Posted by zhenwei pi 1 year, 4 months ago
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
Re: [PATCH 0/7] Support crypto device
Posted by Michal Prívozník 1 year, 3 months ago
On 1/4/23 04:29, zhenwei pi wrote:
> 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.
> 

I've got couple of suggestions. For patch 2/7 I've created a 'fixup'
commit and uploaded the whole branch onto my gitlab:

https://gitlab.com/MichalPrivoznik/libvirt/-/commits/crypto_review

Please check it out and consider squashing it in. For other suggestions
I did not create such commit.

Michal
Re: Re: [PATCH 0/7] Support crypto device
Posted by zhenwei pi 1 year, 3 months ago

On 1/6/23 19:37, Michal Prívozník wrote:
> On 1/4/23 04:29, zhenwei pi wrote:
>> 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.
>>
> 
> I've got couple of suggestions. For patch 2/7 I've created a 'fixup'
> commit and uploaded the whole branch onto my gitlab:
> 
> https://gitlab.com/MichalPrivoznik/libvirt/-/commits/crypto_review
> 
> Please check it out and consider squashing it in. For other suggestions
> I did not create such commit.
> 
> Michal
> 

Thanks! I'll send a v2 version later.

-- 
zhenwei pi