summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652>2014-05-12 01:57:36 +0000
committerrusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652>2014-05-12 01:57:36 +0000
commitaa9778215ce3bf31de1c8e8903f303c31eee9c31 (patch)
treeaa8710a6c06bdbe702f999a7fd50d9b697c63b5c
parentc6cdebe2743c70da09a47ab8b4fa7fbf94e95913 (diff)
VIRTIO-87: limit descriptor chain length even with INDIRECT.
As passed at meeting 2014-05-06: https://lists.oasis-open.org/archives/virtio/201405/msg00016.html Signed-off-by: Rusty Russell <rusty@au1.ibm.com> git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@366 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
-rw-r--r--content.tex5
1 files changed, 4 insertions, 1 deletions
diff --git a/content.tex b/content.tex
index 4525975..83d1afd 100644
--- a/content.tex
+++ b/content.tex
@@ -404,7 +404,7 @@ struct virtq_desc {
\end{lstlisting}
The number of descriptors in the table is defined by the queue size
-for this virtqueue.
+for this virtqueue: this is the maximum possible descriptor chain length.
\begin{note}
The legacy \hyperref[intro:Virtio PCI Draft]{[Virtio PCI Draft]}
@@ -456,6 +456,9 @@ VIRTIO_F_INDIRECT_DESC feature was negotiated. The driver MUST NOT
set the VIRTQ_DESC_F_INDIRECT flag within an indirect descriptor (ie. only
one table per descriptor).
+A driver MUST NOT create a descriptor chain longer than the Queue Size of
+the device.
+
\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.