Skip to content

Commit 42a7b93

Browse files
virtio-msg: align informative prose with virtio spec style
Rewrite touched informative text to use neutral specification wording and consistent virtio-msg terminology without changing wire format, labels, or normative behavior. Clean up the configuration, notification, initialization, and GET_DEVICES explanations so reviewers can focus later patches on semantic changes rather than editorial churn. Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
1 parent b813197 commit 42a7b93

1 file changed

Lines changed: 30 additions & 28 deletions

File tree

transport-msg.tex

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ \subsubsection{Relationship Between Bus and Transport}
8181

8282
This subsubsection explains the division of responsibilities: the bus layer is
8383
the 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
8585
the virtio-msg transport defines the semantics of those messages.
8686

8787
virtio-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

508508
Transport 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.
510511
Implementations should handle such faults locally where possible. For
511512
request/response messages that use the existing wire format, the completion
512513
contract 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

19141915
A 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
19161917
usage. 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}
19321933
struct 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}
20342037
struct 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

Comments
 (0)