Skip to content

Commit 1a617c7

Browse files
virtio-msg: Remove introduction as chapter
To follow the organization of other transports, remove the introduction chapter by moving its content into basic concepts and just having a small introduction paragraph for the chapter instead. Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
1 parent e47da75 commit 1a617c7

1 file changed

Lines changed: 24 additions & 29 deletions

File tree

transport-msg.tex

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@ \section{Virtio Over Messages}\label{sec:Virtio Transport Options / Virtio Over
33
\newcommand{\conceptref}[1]{\hyperref[sec:Virtio Transport Options / Virtio Over Messages / Basic Concepts / #1]{#1}}
44
\newcommand{\msgref}[1]{\hyperref[sec:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_#1]{VIRTIO_MSG_#1}}
55
\newcommand{\busref}[1]{\hyperref[sec:Virtio Transport Options / Virtio Over Messages / Bus Messages / BUS_MSG_#1]{BUS_MSG_#1}}
6-
7-
\subsection{Introduction}
8-
\label{sec:Virtio Transport Options / Virtio Over Messages / Introduction}
6+
\newcommand{\msgdef}[1]{\subsubsection{VIRTIO_MSG_#1}\label{sec:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_#1}}
7+
\newcommand{\busdef}[1]{\subsubsection{BUS_MSG_#1}\label{sec:Virtio Transport Options / Virtio Over Messages / Bus Messages / BUS_MSG_#1}}
98

109
This section defines \textbf{virtio-msg}, a transport mechanism that encapsulates
1110
virtio operations as discrete message exchanges rather than relying on PCI or
@@ -14,8 +13,6 @@ \subsection{Introduction}
1413
negotiation, virtqueue setup), ensuring that a single, generic transport layer
1514
can be reused across multiple bus implementations.
1615

17-
\subsubsection{Purpose}
18-
1916
virtio-msg addresses several key objectives:
2017

2118
\begin{itemize}
@@ -37,6 +34,15 @@ \subsubsection{Purpose}
3734
integrate smoothly once a device is discovered and registered.
3835
\end{itemize}
3936

37+
\subsection{Basic Concepts}
38+
\label{sec:Virtio Transport Options / Virtio Over Messages / Basic Concepts}
39+
40+
The virtio-msg transport relies on a set of foundational concepts to ensure
41+
reusability across different bus implementations and flexibility in device
42+
capabilities. This section defines those concepts and clarifies how they apply,
43+
regardless of whether the bus leverages message-based enumeration or platform
44+
data for device discovery.
45+
4046
\subsubsection{High-Level Architecture}
4147

4248
virtio-msg operates around two layers:
@@ -73,6 +79,8 @@ \subsubsection{High-Level Architecture}
7379

7480
\subsubsection{System Topology}
7581

82+
A virtio-msg system contains the following elements:
83+
7684
\begin{itemize}
7785
\item \textbf{Bus Instances and Devices}: Each bus instance advertises its
7886
capabilities (e.g., transport revision, maximum message size) and
@@ -87,26 +95,6 @@ \subsubsection{System Topology}
8795
the correct device instance based on device number.
8896
\end{itemize}
8997

90-
\subsubsection{Optional Bus Messages}
91-
92-
This specification \emph{defines} messages such as \busref{GET_DEVICES},
93-
\busref{EVENT_DEVICE}, and \busref{PING} for a
94-
completely message-based approach to enumeration, hotplug, and bus-wide health.
95-
However, these are \emph{not} mandatory if a bus instance already handles those
96-
functions via firmware, device tree, or other platform features. The only strict
97-
requirement is that the bus 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.
100-
101-
\subsection{Basic Concepts}
102-
\label{sec:Virtio Transport Options / Virtio Over Messages / Basic Concepts}
103-
104-
The virtio-msg transport relies on a set of foundational concepts to ensure
105-
reusability across different bus implementations and flexibility in device
106-
capabilities. This section defines those concepts and clarifies how they apply,
107-
regardless of whether the bus leverages message-based enumeration or platform
108-
data for device discovery.
109-
11098
\subsubsection{Transport Revisions and Maximum Message Size}
11199
\label{sec:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Revisions}
112100

@@ -293,6 +281,17 @@ \subsubsection{Bus vs. Transport Messages}
293281
information from a device tree or firmware tables, while still supporting
294282
fully message-based enumeration and hotplug if desired.
295283

284+
\subsubsection{Optional Bus Messages}
285+
286+
This specification \emph{defines} messages such as \busref{GET_DEVICES},
287+
\busref{EVENT_DEVICE}, and \busref{PING} for a
288+
completely message-based approach to enumeration, hotplug, and bus-wide health.
289+
However, these are \emph{not} mandatory if a bus instance already handles those
290+
functions via firmware, device tree, or other platform features. The only strict
291+
requirement is that the bus MUST be able to forward device-specific
292+
\emph{transport messages} once a device is recognized, so the virtio-msg driver
293+
can manage it.
294+
296295
\subsubsection{Endianness}
297296
\label{sec:Virtio Transport Options / Virtio Over Messages / Basic Concepts / Endianness}
298297

@@ -837,8 +836,6 @@ \subsubsection{Overview}
837836
\item \msgref{EVENT_CONFIG}
838837
\end{itemize}
839838

840-
\newcommand{\msgdef}[1]{\subsubsection{VIRTIO_MSG_#1}\label{sec:Virtio Transport Options / Virtio Over Messages / Transport Messages / VIRTIO_MSG_#1}}
841-
842839
\msgdef{GET_DEVICE_INFO}
843840

844841
This message is sent by the virtio-msg transport driver and requires a
@@ -1173,8 +1170,6 @@ \subsection{Bus Messages}\label{sec:Virtio Transport Options / Virtio Over Messa
11731170
hotplug, etc. via virtio-msg, it SHOULD implement the corresponding
11741171
message definitions below.
11751172

1176-
\newcommand{\busdef}[1]{\subsubsection{BUS_MSG_#1}\label{sec:Virtio Transport Options / Virtio Over Messages / Bus Messages / BUS_MSG_#1}}
1177-
11781173
\busdef{GET_DEVICES}
11791174

11801175
The driver-side bus uses this request to enumerate device numbers on the

0 commit comments

Comments
 (0)