]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: alias: support crypto device
authorzhenwei pi <pizhenwei@bytedance.com>
Tue, 17 Jan 2023 01:46:52 +0000 (09:46 +0800)
committerMichal Privoznik <mprivozn@redhat.com>
Wed, 25 Jan 2023 15:00:51 +0000 (16:00 +0100)
Support 'cryptoX' alias for a crypto device.

Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/qemu_alias.c

index 0f1310a0e5b99555d00fdc6f05e746dc5bd8eb07..c74c68a939a1fa21a5351f8943227cb92b76b679 100644 (file)
@@ -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;
 }