[libvirt] [PATCH v3 08/17] qemu: Support rng model=virtio-{non-}transitional

Andrea Bolognani abologna at redhat.com
Tue Feb 12 15:40:36 UTC 2019


On Fri, 2019-02-08 at 17:11 -0500, Cole Robinson wrote:
[...]
> @@ -4553,6 +4553,11 @@ qemuDomainRNGDefValidate(const virDomainRNGDef *def,
>          modelIsSupported = virQEMUCapsGet(qemuCaps,
>                                            QEMU_CAPS_DEVICE_VIRTIO_RNG);
>          break;
> +    case VIR_DOMAIN_RNG_MODEL_VIRTIO_TRANSITIONAL:
> +    case VIR_DOMAIN_RNG_MODEL_VIRTIO_NON_TRANSITIONAL:
> +        modelIsSupported = (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_PCI_NON_TRANSITIONAL) ||
> +                            virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY));
> +        break;

You still need to make sure QEMU_CAPS_DEVICE_VIRTIO_RNG is present
when the model is virtio-(non-)transitional.

[...]
> @@ -884,7 +884,11 @@ qemuDomainDeviceCalculatePCIConnectFlags(virDomainDeviceDefPtr dev,
>      case VIR_DOMAIN_DEVICE_RNG:
>          switch ((virDomainRNGModel) dev->data.rng->model) {
>          case VIR_DOMAIN_RNG_MODEL_VIRTIO:
> +        case VIR_DOMAIN_RNG_MODEL_VIRTIO_NON_TRANSITIONAL:
>              return virtioFlags;
> +        case VIR_DOMAIN_RNG_MODEL_VIRTIO_TRANSITIONAL:
> +            /* Transitional devices only work in conventional PCI slots */
> +            return pciFlags;

Nit, but for other devices so far you've put the _TRANSITIONAL
case first, so please do the same here :)


With all of the above addressed,

  Reviewed-by: Andrea Bolognani <abologna at redhat.com>

-- 
Andrea Bolognani / Red Hat / Virtualization




More information about the libvir-list mailing list