@@ -22,8 +22,7 @@ \subsubsection{Purpose}
2222 \item \textbf {Support multiple bus implementations: }
2323 Systems may rely on various communication methods such as hypercalls, local
2424 IPC, network channels, or device trees for enumerating devices. virtio-msg
25- defines a common transport interface suitable for any of these underlying
26- mechanisms.
25+ defines a common transport interface suitable for any of these mechanisms.
2726
2827 \item \textbf {Reduce per-bus complexity: }
2928 Buses can implement a fully message-based workflow (including optional
@@ -95,8 +94,9 @@ \subsubsection{Optional Bus Messages}
9594completely message-based approach to enumeration, hotplug, and bus-wide health.
9695However, these are \emph {not } mandatory if a bus instance already handles those
9796functions via firmware, device tree, or other platform features. The only strict
98- requirement is that the bus be able to forward device-specific \emph {transport
99- messages } once a device is recognized, so the virtio-msg driver can manage it.
97+ requirement is that the bus \emph {MUST } be able to forward device-specific
98+ \emph {transport messages } once a device is recognized, so the virtio-msg driver
99+ can manage it.
100100
101101\subsection {Basic Concepts }
102102\label {sec:Virtio Transport Options / Virtio Over Messages / Basic Concepts }
@@ -139,7 +139,7 @@ \subsubsection{Transport Revisions and Maximum Message Size}
139139
140140\paragraph {virtio-msg revisions }
141141
142- The following tables defines the currently defined virtio-msg revisions:
142+ The following table lists the currently defined virtio-msg revisions:
143143
144144\begin {tabular }{ |l|l|l|l| }
145145\hline
@@ -153,7 +153,7 @@ \subsubsection{Transport Revisions and Maximum Message Size}
153153correspond to a change in the virtio-msg revision.
154154
155155The maximum message size is from the common transport level point of
156- view and includes the headers and payload described here. If the bus adds it
156+ view and includes the headers and payload described here. If the bus adds its
157157own overhead (e.x. its own header) this is not included in the maximum message
158158size. The maximum useful message size is currently expected to be 274.
159159This value is large enough to support a GET_CONFIG or SET_CONFIG message with a
@@ -218,7 +218,7 @@ \subsubsection{Feature Negotiation Blocks}
218218\msgref {SET_DRIVER_FEATURES }. Each block corresponds to up to 32 features:
219219
220220\begin {itemize }
221- \item \textbf {Block Index }: Identifies the starting block (e.g., block 0 for
221+ \item \textbf {Block Index }: The starting block (e.g., block 0 for
222222 features 0--31, block 1 for features 32--63, etc.).
223223 \item \textbf {Number of Blocks }: How many blocks the driver wishes to retrieve
224224 or modify in a single message.
@@ -270,7 +270,7 @@ \subsubsection{Bus vs. Transport Messages}
270270 or assessing bus-wide health (\busref {PING }).
271271 These messages are \emph {optional } in environments where
272272 device discovery or state changes occur through other means (e.g., device
273- tree). However, if a bus \emph { chooses } to handle those tasks via messages,
273+ tree). However, if a bus chooses to handle those tasks via messages,
274274 it \emph {should } implement the appropriate bus message definitions.
275275
276276 \item [\textbf {Transport Messages }:]
@@ -295,7 +295,7 @@ \subsubsection{Bus vs. Transport Messages}
295295\subsubsection {Endianness }
296296\label {sec:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Endianness }
297297
298- All encoding of values and fields defines in the virtio-msg messages \emph {MUST }
298+ All encoding of values and fields defined in the virtio-msg messages \emph {MUST }
299299be encoded in little-endian.
300300
301301\subsubsection {Common Message Format }
@@ -686,7 +686,7 @@ \subsubsection{Device Notifications}
686686These notifications may be the result of:
687687
688688\begin {itemize }
689- \item The same messages received in band on the message channel from the
689+ \item The same messages received in- band on the message channel from the
690690 device side bus.
691691 \item Manufactured by the driver side bus based on reception of an
692692 out-of-band (OoB) notification from the device side. Example OoB
@@ -709,7 +709,8 @@ \subsubsection{Device Notifications}
709709\paragraph {EVENT\_ USED }
710710\begin {itemize }
711711 \item Signifies that one or more buffers in a specific virtqueue have been
712- processed or consumed by the device.
712+ processed or consumed by the device and the buffer has been added to the
713+ used ring of the virtqueue.
713714 \item The driver uses normal virtio methods (e.g., reading the "used" ring) to
714715 identify which buffers are complete.
715716 \item If a device does not support sending \msgref {EVENT_USED }, the driver
@@ -831,7 +832,7 @@ \subsubsection{Overview}
831832\end {itemize }
832833
833834The functionality of the following messages \textbf {MUST } be provided by
834- in band messages, out of band event notification, or bus implementation based
835+ in- band messages, out-of- band event notification, or bus implementation based
835836polling:
836837\begin {itemize }
837838 \item \msgref {EVENT_AVAIL }
@@ -1115,8 +1116,8 @@ \subsubsection{Overview}
11151116The \textbf {Next wrap } field is the MSB of the 32 bit value. The
11161117\textbf {Next offset } field is the other 31 bits. These fields should be 0 if
11171118the VIRTIO_F_NOTIFICATION_DATA feature has not been negotiated. If the bus
1118- implementation is using out-of-band notifications, it should refuse to allow
1119- this feature to be negotiated.
1119+ implementation is using out-of-band notifications, it should prevent this
1120+ feature from being negotiated.
11201121
11211122\msgdef {EVENT_USED}
11221123
@@ -1158,7 +1159,7 @@ \subsection{Bus Messages}\label{sec:Virtio Transport Options / Virtio Over Messa
11581159\hline
11591160\end {tabular }
11601161
1161- Bus message IDs below 0x80 are reserved for standardizes (but optional) bus
1162+ Bus message IDs below 0x80 are reserved for standardized (but optional) bus
11621163messages. A few are used here and more are expected in the future. Bus message
11631164IDs below 0x40 are used for request/response messages and 0x40 and above for
11641165event messages.
@@ -1324,16 +1325,15 @@ \subsubsection{Optional Requirements}
13241325 and \busref {EVENT_DEVICE } for discovering and managing devices in a
13251326 message-driven manner. However, this is not mandatory if other enumeration
13261327 methods (e.g., device tree, ACPI, hypervisor firmware) are used.
1327- \item If a bus \emph { chooses } to implement these messages, it \textbf {MUST } do
1328+ \item If a bus chooses to implement these messages, it \textbf {MUST } do
13281329 so in compliance with their defined formats and semantics (see
13291330 \ref {sec:Virtio Transport Options / Virtio Over Messages / Bus Messages }).
13301331\end {itemize }
13311332
13321333\paragraph {Optional Bus-Level Messages }
13331334\begin {itemize }
1334- \item \busref {PING } for keepalive or health checks is also \emph {MAY }
1335- implement. If used, both sides \textbf {MUST } echo the 32-bit data field
1336- precisely.
1335+ \item \busref {PING } \emph {MAY } be implemented for keepalive or health checks.
1336+ If used, both sides \textbf {MUST } echo the 32-bit data field precisely.
13371337\end {itemize }
13381338
13391339\paragraph {Runtime Notifications }
0 commit comments