On 19/10/2019 08.38, Stefan Hajnoczi wrote:
> Device initialization has an extra step in VIRTIO 1.0.  The FEATURES_OK
> status bit is set to indicate that feature negotiation has completed.
> The driver then reads the status register again to check that the device
> agrees with the final features.
> 
> Implement this step as part of qvirtio_set_features() instead of
> introducing a separate function.  This way all existing code works
> without modifications.
> 
> Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com>
> ---
>  tests/libqos/virtio.c | 20 +++++++++++++++++---
>  1 file changed, 17 insertions(+), 3 deletions(-)
[...]
> @@ -88,9 +101,10 @@ void qvirtio_set_driver(QVirtioDevice *d)
>  
>  void qvirtio_set_driver_ok(QVirtioDevice *d)
>  {
> -    d->bus->set_status(d, d->bus->get_status(d) | VIRTIO_CONFIG_S_DRIVER_OK);
> -    g_assert_cmphex(d->bus->get_status(d), ==, VIRTIO_CONFIG_S_DRIVER_OK |
> -                    VIRTIO_CONFIG_S_DRIVER | VIRTIO_CONFIG_S_ACKNOWLEDGE);
> +    uint8_t status = d->bus->get_status(d) | VIRTIO_CONFIG_S_DRIVER_OK;
> +
> +    d->bus->set_status(d, status);
> +    g_assert_cmphex(d->bus->get_status(d), ==, status);
>  }

The changes to qvirtio_set_driver_ok() are not mentioned in the patch
description. Please either mention them there, or move this to a
separate patch.

 Thanks,
  Thomas


Reply via email to