@@ -81,7 +81,7 @@ \subsubsection{Relationship Between Bus and Transport}
8181
8282This subsubsection explains the division of responsibilities: the bus layer is
8383the mandatory carrier that moves messages between driver and device endpoints
84- (e.g., over IPC, shared memory with signalling or hardware messaging), while
84+ (e.g., over IPC, shared memory with signaling or hardware messaging), while
8585the virtio-msg transport defines the semantics of those messages.
8686
8787virtio-msg groups messages into two categories:
@@ -462,9 +462,9 @@ \subsubsection{Configuration Semantics Profiles}
462462 \field {offset}/\field {length} to the affected range.
463463\end {itemize }
464464
465- Rationale: defining baseline and strict semantics in a single subsection keeps
466- the baseline and strict behavior explicit and reduces duplicated conditional
467- wording across message definitions.
465+ This subsection defines baseline and strict semantics together so that
466+ generation and mismatch behavior remains explicit and consistent across message
467+ definitions.
468468
469469\subsubsection {Device Feature Blocks }
470470\label {sec:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Device Feature Blocks }
@@ -506,7 +506,8 @@ \subsubsection{Error Signaling}
506506\label {sec:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Error Signaling }
507507
508508Transport errors can arise from malformed messages, routing failures inside a
509- bus implementation, or device-side faults while processing a valid request.
509+ bus implementation, or faults while processing a valid request in the device
510+ transport layer.
510511Implementations should handle such faults locally where possible. For
511512request/response messages that use the existing wire format, the completion
512513contract is deterministic:
@@ -551,7 +552,7 @@ \subsubsection{Error Signaling}
551552
552553\drivernormative {\paragraph }{Error Handling}{Virtio Transport Options / Virtio Over Messages / Basic Concepts / Error Signaling / Driver}
553554\begin {itemize }
554- \item A driver-side transport implementation receiving a malformed or
555+ \item A driver transport layer implementation receiving a malformed or
555556 unsupported transport message MUST discard it without producing further
556557 protocol traffic.
557558 \item A driver MUST apply a bounded timeout and retry policy when waiting for
@@ -564,7 +565,7 @@ \subsubsection{Error Signaling}
564565
565566\devicenormative {\paragraph }{Error Handling}{Virtio Transport Options / Virtio Over Messages / Basic Concepts / Error Signaling / Device}
566567\begin {itemize }
567- \item A device-side transport implementation receiving a malformed or
568+ \item A device transport layer implementation receiving a malformed or
568569 unsupported transport message MUST discard it without producing further
569570 protocol traffic.
570571 \item Recovery actions taken in response to an error (such as retries,
@@ -1912,21 +1913,21 @@ \subsubsection{Overview}
19121913\label {sec:Virtio Transport Options / Virtio Over Messages / Bus Messages / Bus Specific Messages }
19131914
19141915A range of message IDs are reserved for use by the specific bus
1915- implementation. These messages can be used for any implementation specific
1916+ implementation. These messages can be used for any implementation- specific
19161917usage. Example usage could include:
19171918
19181919\begin {itemize }
19191920 \item Configuration of out-of-band notification methods
19201921 \item Setup shared memory regions to be used for buffers or virtqueues
1921- \item Declare bus specific error conditions
1922+ \item Declare bus- specific error conditions
19221923 \item Provide extra debug or logging information
19231924\end {itemize }
19241925
19251926\busdef {GET_DEVICES}
19261927
1927- The driver-side bus uses this request to enumerate device numbers on the
1928- device-side bus. The response describes a “ window” of device numbers and signals
1929- which entries are present.
1928+ A bus implementation uses this request to enumerate device numbers exposed by a
1929+ peer bus instance . The response describes a window of device numbers and
1930+ signals which entries are present.
19301931
19311932\ begin{lstlisting}
19321933struct virtio_bus_msg_get_devices_req {
@@ -1971,7 +1972,8 @@ \subsubsection{Overview}
19711972
19721973\busnormative {\paragraph }{GET\_ DEVICES}{Virtio Transport Options / Virtio Over Messages / Bus Messages / GET_DEVICES / Bus}
19731974\begin {itemize }
1974- \item The bus-side responder MUST interpret \field {count} as a number of
1975+ \item The responding bus implementation MUST interpret \field {count} as a
1976+ number of
19751977 device-number slots and MUST return a \field {bitmap} of
19761978 \textbf {(\field {count} + 7) / 8 } bytes, packed least-significant-bit
19771979 first.
@@ -2013,22 +2015,23 @@ \subsubsection{Overview}
20132015};
20142016\end {lstlisting }
20152017
2016- \paragraph { Intended usage }
2017- Drivers or bus implementations MAY use \busref { PING } as a keepalive. If a reply
2018- is missing or delayed beyond policy, the initiator SHOULD verify device status
2019- (e.g., via \msgref { GET_DEVICE_STATUS }) and take recovery actions as needed.
2018+ Drivers or bus implementations can use \busref { PING } as a liveness check. If a
2019+ reply is missing or delayed beyond local policy, the initiator can verify
2020+ device status (for example, with \msgref { GET_DEVICE_STATUS }) and perform
2021+ recovery as needed.
20202022
20212023\busnormative {\paragraph }{PING}{Virtio Transport Options / Virtio Over Messages / Bus Messages / PING / Bus}
20222024\begin {itemize }
2023- \item The bus-side responder MUST echo the 32-bit data field from the request
2024- exactly in the \busref {PING } response.
2025+ \item The responding bus implementation MUST echo the 32-bit data field from
2026+ the request exactly in the \busref {PING } response.
20252027\end {itemize }
20262028
20272029\busdef {EVENT_DEVICE}
20282030
20292031\busref {EVENT_DEVICE } signals device-level hotplug changes as a bus-originated
2030- control-plane event. The driver-side bus receives these indications from the
2031- device-side bus; the table below lists the defined device bus states.
2032+ control-plane event. The bus instance on the driver side receives these
2033+ indications from the peer bus instance; the table below lists the defined
2034+ device bus states.
20322035
20332036\ begin{lstlisting}
20342037struct virtio_bus_msg_event_device {
@@ -2048,13 +2051,12 @@ \subsubsection{Overview}
20482051\hline
20492052\end {tabular }
20502053
2051- \paragraph {Intended usage }
2052- Upon receiving DEVICE\_ BUS\_ STATE\_ ADDED, drivers SHOULD probe the device via
2053- \msgref {GET_DEVICE_INFO } and proceed with initialization if successful. Upon
2054- DEVICE\_ BUS\_ STATE\_ REMOVED, drivers MUST stop queueing new work, quiesce the
2055- device instance, tear down driver-side state, and release resources. Drivers
2056- SHOULD tolerate duplicate or out-of-order events and MAY rely on additional
2057- bus-level monitoring (e.g., \busref {PING }) if needed.
2054+ Upon receiving DEVICE\_ BUS\_ STATE\_ ADDED, drivers typically probe the device
2055+ with \msgref {GET_DEVICE_INFO } before continuing initialization. Upon receiving
2056+ DEVICE\_ BUS\_ STATE\_ REMOVED, drivers typically stop queueing new work, quiesce
2057+ the device instance, tear down local driver state, and release resources.
2058+ Duplicate or out-of-order events can occur and can be handled with additional
2059+ bus-level monitoring, such as \busref {PING }.
20582060
20592061\busnormative {\paragraph }{EVENT\_ DEVICE}{Virtio Transport Options / Virtio Over Messages / Bus Messages / EVENT_DEVICE / Bus}
20602062\begin {itemize }
0 commit comments