virtio — archive
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
— [Date Index]
| [Thread Index]
| [Month Index]
| [List Home]
[PATCH 00/10] for review Feb 11 patches on top of virtio@224
Correct new language to explicitly use MAY/SHOULD/MUST or simply drop the somewhat vague "can" where we are describing the only way to operate the device. Signed-off-by: Michael S. Tsirkin <[email protected]> --- content.tex
16 ++++++++
--------
1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content.tex b/content.tex index acc49c8..e1db9f4 100644 --- a/content.tex +++ b/content.tex @@ -654,14 +654,14 @@ free descriptors before beginning the mappings.
The descriptor chain head is the first d in the algorithm above, ie. the index of the descriptor table entry referring to the first -part of the buffer. A naive implementation would do the following (with the +part of the buffer. A naive driver implementation MAY do the following (with the appropriate conversion to-and-from little-endian assumed):
egin{lstlisting} avail->ring[avail->idx % qsz] = head; end{lstlisting}
-However, in general the driver can add many descriptor chains before it updates +However, in general the driver MAY add many descriptor chains before it updates field{idx} (at which point they become visible to the device), so it is common to keep a counter of how many the driver has added:
@@ -671,13 +671,13 @@ avail->ring[(avail->idx + added++) % qsz] = head;
subsubsection{Updating field{idx}}label{sec:General Initialization And Device Operation / Device Operation / Supplying Buffers to The Device / Updating idx}
-Once field{idx} is updated, the device will -be able to access the descriptor chains the driver created and the -memory they refer to. This is why a memory barrier is generally -used before the field{idx} update, to ensure it sees the most up-to-date -copy. +Once available field{idx} is updated by driver, the device MAY +access the descriptor chains the driver created and the +memory they refer to. This is why the driver SHOULD generally +use a memory barrier before the field{idx} update, to ensure the +device sees the most up-to-date copy.
-field{idx} always increments, and the driver can let it wrap naturally at +field{idx} always increments, and wraps naturally at 65536:
egin{lstlisting}
--
MST
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
— [Date Index]
| [Thread Index]
| [Month Index]
| [List Home]