Re: [PATCH 2/2] qemu: implement iommu coldplug/unplug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I can't find 1/2 anywhere. Is it lost? Judging from the code below I
believe it contained code to export virDomainIOMMUDefFree(), didn't it.

On 6/17/24 16:26, Adam Julis wrote:
> Resolves: https://issues.redhat.com/browse/RHEL-23833
> Signed-off-by: Adam Julis <ajulis@xxxxxxxxxx>
> ---
>  src/qemu/qemu_driver.c | 20 ++++++++++++++++++--
>  1 file changed, 18 insertions(+), 2 deletions(-)
> 
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 67b9778c67..74d5e3bb86 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -6847,6 +6847,15 @@ qemuDomainAttachDeviceConfig(virDomainDef *vmdef,
>          vmdef->vsock = g_steal_pointer(&dev->data.vsock);
>          break;
>  
> +    case VIR_DOMAIN_DEVICE_IOMMU:
> +        if (vmdef->iommu) {
> +            virReportError(VIR_ERR_OPERATION_INVALID, "%s",
> +                           _("domain already has an iommu configuration"));

s/configuration/device/

> +            return -1;
> +        }
> +        vmdef->iommu = g_steal_pointer(&dev->data.iommu);
> +        break;
> +
>      case VIR_DOMAIN_DEVICE_VIDEO:
>      case VIR_DOMAIN_DEVICE_GRAPHICS:
>      case VIR_DOMAIN_DEVICE_HUB:
> @@ -6856,7 +6865,6 @@ qemuDomainAttachDeviceConfig(virDomainDef *vmdef,
>      case VIR_DOMAIN_DEVICE_NONE:
>      case VIR_DOMAIN_DEVICE_TPM:
>      case VIR_DOMAIN_DEVICE_PANIC:
> -    case VIR_DOMAIN_DEVICE_IOMMU:
>      case VIR_DOMAIN_DEVICE_AUDIO:
>      case VIR_DOMAIN_DEVICE_CRYPTO:
>      case VIR_DOMAIN_DEVICE_LAST:
> @@ -7057,6 +7065,15 @@ qemuDomainDetachDeviceConfig(virDomainDef *vmdef,
>          g_clear_pointer(&vmdef->vsock, virDomainVsockDefFree);
>          break;
>  
> +    case VIR_DOMAIN_DEVICE_IOMMU:
> +        if (!vmdef->iommu) {
> +            virReportError(VIR_ERR_OPERATION_FAILED, "%s",
> +                           _("matching iommu config not found"));

s/config/device/

> +            return -1;
> +        }
> +        g_clear_pointer(&vmdef->iommu, virDomainIOMMUDefFree);

This does not link because virDomainIOMMUDefFree() is not exported as a
symbol :(

> +        break;
> +
>      case VIR_DOMAIN_DEVICE_VIDEO:
>      case VIR_DOMAIN_DEVICE_GRAPHICS:
>      case VIR_DOMAIN_DEVICE_HUB:
> @@ -7066,7 +7083,6 @@ qemuDomainDetachDeviceConfig(virDomainDef *vmdef,
>      case VIR_DOMAIN_DEVICE_NONE:
>      case VIR_DOMAIN_DEVICE_TPM:
>      case VIR_DOMAIN_DEVICE_PANIC:
> -    case VIR_DOMAIN_DEVICE_IOMMU:
>      case VIR_DOMAIN_DEVICE_AUDIO:
>      case VIR_DOMAIN_DEVICE_CRYPTO:
>      case VIR_DOMAIN_DEVICE_LAST:

Otherwise looking good.

Michal



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux