From 53b9bba9fc087489b4ffdd0aa37eb802a6c22693 Mon Sep 17 00:00:00 2001 From: mstsirkin Date: Sun, 2 Mar 2014 21:35:56 +0000 Subject: legacy virtqueue layout: confirmance Change accepted on VIRTIO TC Meeting, 3 December 2013 Signed-off-by: Michael S. Tsirkin git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@298 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652 --- content.tex | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'content.tex') diff --git a/content.tex b/content.tex index 9276d9b..75e80b5 100644 --- a/content.tex +++ b/content.tex @@ -318,7 +318,11 @@ Descriptor Table & Available Ring (\ldots padding\ldots) & Used Ring \\ \end{tabular} The bus-specific Queue Size field controls the total number of bytes -required for the virtqueue according to the following formula: +required for the virtqueue. +When using the legacy interface, the transitional +driver MUST retrieve the Queue Size field from the device +and MUST allocate the total number of bytes for the virtuqueue +according to the following formula: \begin{lstlisting} #define ALIGN(x) (((x) + PAGE_SIZE) & ~PAGE_SIZE) @@ -330,7 +334,9 @@ static inline unsigned vring_size(unsigned int qsz) \end{lstlisting} This wastes some space with padding. -The legacy virtqueue layout structure therefore looks like this: +When using the legacy interface, both transitional +devices and drivers MUST use the following virtqueue layout +structure to locate elements of the virtqueue: \begin{lstlisting} struct vring { -- cgit v1.2.3