From: zhenwei pi Date: Tue, 17 Jan 2023 01:46:52 +0000 (+0800) Subject: qemu: alias: support crypto device X-Git-Tag: v9.1.0-rc1~163 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0eb358e7998f55ef86d517edcffd26959fcba634;p=thirdparty%2Flibvirt.git qemu: alias: support crypto device Support 'cryptoX' alias for a crypto device. Signed-off-by: zhenwei pi Reviewed-by: Michal Privoznik --- diff --git a/src/qemu/qemu_alias.c b/src/qemu/qemu_alias.c index 0f1310a0e5..c74c68a939 100644 --- a/src/qemu/qemu_alias.c +++ b/src/qemu/qemu_alias.c @@ -602,6 +602,26 @@ qemuAssignDeviceIOMMUAlias(virDomainIOMMUDef *iommu) } +static void +qemuAssignDeviceCryptoAlias(virDomainDef *def, + virDomainCryptoDef *crypto) +{ + size_t i; + int maxidx = 0; + int idx; + + if (crypto->info.alias) + return; + + for (i = 0; i < def->ncryptos; i++) { + if ((idx = qemuDomainDeviceAliasIndex(&def->cryptos[i]->info, "crypto")) >= maxidx) + maxidx = idx + 1; + } + + crypto->info.alias = g_strdup_printf("crypto%d", maxidx); +} + + int qemuAssignDeviceAliases(virDomainDef *def) { @@ -688,6 +708,9 @@ qemuAssignDeviceAliases(virDomainDef *def) } if (def->iommu) qemuAssignDeviceIOMMUAlias(def->iommu); + for (i = 0; i < def->ncryptos; i++) { + qemuAssignDeviceCryptoAlias(def, def->cryptos[i]); + } return 0; }