aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHalil Pasic <pasic@linux.ibm.com>2018-06-25 14:21:29 +0200
committerMichael S. Tsirkin <mst@redhat.com>2018-10-19 17:29:24 -0400
commitc47839298c3be62a64ab05caf2a08fd36f4cb61b (patch)
tree32cd02ae2df1b9f9633586540dfac09c337ae22a
parentf5f10deb766a31b36c2b022892edee82cf7bf338 (diff)
downloadvirtio-spec-c47839298c3be62a64ab05caf2a08fd36f4cb61b.tar.gz
ccw: map common notifications terminology to ccw
The various notifications are introduced and specified in the common (i.e. transport agnostic) portion of this specification. How notifications are realised for a given transport is something each transport has to specify. Let's make the relationship between the virtio-ccw terms and the common terms more obvious. Signed-off-by: Halil Pasic <pasic@linux.ibm.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-rw-r--r--content.tex42
1 files changed, 42 insertions, 0 deletions
diff --git a/content.tex b/content.tex
index e2f1220..4103aba 100644
--- a/content.tex
+++ b/content.tex
@@ -1943,6 +1943,18 @@ Bytes & Description & Contents \\
\hline
\end{tabular}
+A virtio-ccw proxy device facilitates:
+\begin{itemize}
+\item Discovery and attachment of virtio devices (as described above).
+\item Initialization of virtqueues and transport-specific facilities (using
+ virtio-specific channel commands).
+\item Notifications (via hypercall and a combination of I/O interrupts
+ and indicator bits).
+\end{itemize}
+
+\subsubsection{Channel Commands for Virtio}\label{sec:Virtio Transport Options / Virtio
+over channel I/O / Basic Concepts/ Channel Commands for Virtio}
+
In addition to the basic channel commands, virtio-ccw defines a
set of channel commands related to configuration and operation of
virtio:
@@ -1963,6 +1975,36 @@ virtio:
#define CCW_CMD_READ_STATUS 0x72
\end{lstlisting}
+\subsubsection{Notifications}\label{sec:Virtio Transport Options / Virtio
+over channel I/O / Basic Concepts/ Notifications}
+
+Available buffer notifications are realized as a hypercall. No additional
+setup by the driver is needed. The operation of available buffer
+notifications is described in section \ref{sec:Virtio Transport Options /
+Virtio over channel I/O / Device Operation / Guest->Host Notification}.
+
+Used buffer notifications are realized either as so-called classic or
+adapter I/O interrupts depending on a transport level negotiation. The
+initialization is described in sections \ref{sec:Virtio Transport Options
+/ Virtio over channel I/O / Device Initialization / Setting Up Indicators
+/ Setting Up Classic Queue Indicators} and \ref{sec:Virtio Transport
+Options / Virtio over channel I/O / Device Initialization / Setting Up
+Indicators / Setting Up Two-Stage Queue Indicators} respectively. The
+operation of each flavor is described in sections \ref{sec:Virtio
+Transport Options / Virtio over channel I/O / Device Operation /
+Host->Guest Notification / Notification via Classic I/O Interrupts} and
+\ref{sec:Virtio Transport Options / Virtio over channel I/O / Device
+Operation / Host->Guest Notification / Notification via Adapter I/O
+Interrupts} respectively.
+
+Configuration change notifications are done using so-called classic I/O
+interrupts. The initialization is described in section \ref{sec:Virtio
+Transport Options / Virtio over channel I/O / Device Initialization /
+Setting Up Indicators / Setting Up Configuration Change Indicators} and
+the operation in section \ref{sec:Virtio Transport Options / Virtio over
+channel I/O / Device Operation / Host->Guest Notification / Notification
+via Classic I/O Interrupts}.
+
\devicenormative{\subsubsection}{Basic Concepts}{Virtio Transport Options / Virtio over channel I/O / Basic Concepts}
The virtio-ccw device acts like a normal channel device, as specified