On Mon, 11 Jun 2018 18:11:57 +0200
Halil Pasic <> wrote:
> 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 over MIIO terms and the
> common terms more obvious.
>
> Signed-off-by: Halil Pasic <>
> ---
> content.tex |
26 ++++++++++++++
------------
> 1 files changed, 14 insertions(+), 12 deletions(-)
>
> diff --git a/content.tex b/content.tex
> index 98efdd2..213ecdf 100644
> --- a/content.tex
> +++ b/content.tex
(...)
> @@ -1716,26 +1716,28 @@ The driver will typically initialize the virtual queue in the following way:
> \item Write 0x1 to \field{QueueReady}.
> \end{enumerate}
>
> -\subsubsection{Notifying The Device}\label{sec:Virtio Transport Options / Virtio Over MMIO / MMIO-specific Initialization And Device Operation / Notifying The Device}
> +\subsubsection{Available Buffer Notifications}\label{sec:Virtio Transport Options / Virtio Over MMIO / MMIO-specific Initialization And Device Operation / Available Buffer Notifications}
>
> -The driver notifies the device about new buffers being available in
> -a queue by writing the index of the updated queue to \field{QueueNotify}.
> +The driver sends an available buffer notification to the device by
> +writing the index of the queue to \field{QueueNotify} to be notified.
That reads a bit awkward.
"...by writing the index of the queue to be notified to \field{QueueNotify}."?
>
> \subsubsection{Notifications From The Device}\label{sec:Virtio Transport Options / Virtio Over MMIO / MMIO-specific Initialization And Device Operation / Notifications From The Device}
>
> The memory mapped virtio device is using a single, dedicated
> interrupt signal, which is asserted when at least one of the
> bits described in the description of \field{InterruptStatus}
> -is set. This is how the device notifies the
> -driver about a new used buffer being available in the queue
> -or about a change in the device configuration.
> +is set. This is how the device sends a used buffer notification
> +or a configuration change notification to the device.
>
> \drivernormative{\paragraph}{Notifications From The Device}{Virtio Transport Options / Virtio Over MMIO / MMIO-specific Initialization And Device Operation / Notifications From The Device}
> After receiving an interrupt, the driver MUST read
> -\field{InterruptStatus} to check what caused the interrupt
> -(see the register description). After the interrupt is handled,
> -the driver MUST acknowledge it by writing a bit mask
> -corresponding to the handled events to the InterruptACK register.
> +
Extra empty line?
> +\field{InterruptStatus} to check what caused the interrupt (see the
> +register description). The used buffer notification bit being set
> +SHOULD be interpreted as a used buffer notification for each active
> +virtqueue. After the interrupt is handled, the driver MUST acknowledge
> +it by writing a bit mask corresponding to the handled events to the
> +InterruptACK register.
>
> \subsection{Legacy interface}\label{sec:Virtio Transport Options / Virtio Over MMIO / Legacy interface}
>