summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--content.tex12
1 files changed, 12 insertions, 0 deletions
diff --git a/content.tex b/content.tex
index 748c78d..2d032a7 100644
--- a/content.tex
+++ b/content.tex
@@ -477,9 +477,21 @@ one table per descriptor).
A driver MUST NOT create a descriptor chain longer than the Queue Size of
the device.
+A driver MUST NOT set both VIRTQ_DESC_F_INDIRECT and VIRTQ_DESC_F_NEXT
+in \field{flags}.
+
\devicenormative{\paragraph}{Indirect Descriptors}{Basic Facilities of a Virtio Device / Virtqueues / The Virtqueue Descriptor Table / Indirect Descriptors}
The device MUST ignore the write-only flag (\field{flags}\&VIRTQ_DESC_F_WRITE) in the descriptor that refers to an indirect table.
+The device MUST handle the case of zero or more normal chained
+descriptors followed by a single descriptor with \field{flags}\&VIRTQ_DESC_F_INDIRECT.
+
+\begin{note}
+While unusual (most implementations either create a chain solely using
+non-indirect descriptors, or use a single indirect element), such a
+layout is valid.
+\end{note}
+
\subsection{The Virtqueue Available Ring}\label{sec:Basic Facilities of a Virtio Device / Virtqueues / The Virtqueue Available Ring}
\begin{lstlisting}