Next in thread → Next in month →

[OASIS Issue Tracker] (VIRTIO-101) Virtio General

From
Rusty Russell <>
Date
2014-05-01T00:29:00+00:00
ID
Thread
[OASIS Issue Tracker] (VIRTIO-101) Virtio General
OASIS Issues Tracker <> writes:
> Rusty Russell created VIRTIO-101:
>

------------------------------------

>
>
Summary: Virtio General
>
Key: VIRTIO-101
>
URL: https://tools.oasis-open.org/issues/browse/VIRTIO-101
>
Project: OASIS Virtual I/O Device (VIRTIO)

TC
>
Issue Type: Sub-task
>
Affects Versions: virtio 1.0 csprd01
>
Reporter: Rusty Russell
>
Assignee: Rusty Russell
>
>
> A desc?ription of the shutdown process is missing.  Specifically the driver must reset the device or disarm the virtio queues or bus mastering before allowing the memory backing the virtio queues to be reused.  It would probably be good to specify a preferred mechanism.

The second draft contains the following text:

\section{Device Cleanup}\label{sec:General Initialization And Device Operation / Device Cleanup}

Once the driver has set the DRIVER_OK status bit, all the configured
virtqueue of the device are considered live.  None of the virtqueues
of a device are live once the device has been reset.

\drivernormative{\subsection}{Device Cleanup}{General Initialization And Device Operation / Device Cleanup}

A driver MUST NOT alter descriptor table entries which have been
exposed in the available ring (and not marked consumed by the device
in the used ring) of a live virtqueue.

A driver MUST NOT decrement the available \field{idx} on a live virtqueue (ie.
there is no way to ``unexpose'' buffers).

Thus a driver MUST ensure a virtqueue isn't live (by device reset) before removing exposed buffers.
Next in thread → Next in month →