All of lore.kernel.org
 help / color / mirror / Atom feed
From: Usama Arif <usama.arif@bytedance.com>
To: virtio-dev@lists.oasis-open.org
Cc: mst@redhat.com, stefanha@redhat.com, ndragazis@arrikto.com,
	fam.zheng@bytedance.com, liangma@liangbit.com,
	Usama Arif <usama.arif@bytedance.com>
Subject: [virtio-dev] [PATCH 3/4] content: Introduce driver/device auxiliary notifications for MMIO
Date: Wed, 30 Mar 2022 16:26:58 +0100	[thread overview]
Message-ID: <20220330152659.3780600-4-usama.arif@bytedance.com> (raw)
In-Reply-To: <20220330152659.3780600-1-usama.arif@bytedance.com>

This includes the additions to the corresponding device and driver
conformances.

Signed-off-by: Usama Arif <usama.arif@bytedance.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Nikos Dragazis <ndragazis@arrikto.com>
---
 content.tex | 23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git a/content.tex b/content.tex
index 5430324..0fc50c4 100644
--- a/content.tex
+++ b/content.tex
@@ -2002,6 +2002,9 @@ \subsection{MMIO Device Register Layout}\label{sec:Virtio Transport Options / Vi
         in at least one of the active virtual queues.
       \item [Configuration Change Notification] - bit 1 - the interrupt was
         asserted because the configuration of the device has changed.
+      \item [Device-specific Driver Auxiliary Notification] - bit 2 - the interrupt was
+        asserted because a device-specific event occurred to notify the driver. See
+        \ref{sec:Basic Facilities of a Virtio Device / Notifications}.
     \end{description}
   }
   \hline 
@@ -2074,6 +2077,16 @@ \subsection{MMIO Device Register Layout}\label{sec:Virtio Transport Options / Vi
     apply to the queue selected by writing to \field{QueueSel}.
   }
   \hline
+  \mmioreg{DeviceAuxiliaryNotification}{Device Auxiliary Notifier}{0xd0}{W}{
+    Writing a value to this register triggers a
+    notification to the device. The value written to this register is
+    interpreted as a device auxiliary notification index. The mapping of device auxiliary notifications to
+    device auxiliary notification indices is device-specific. One possible mapping would be
+    to use the integers 0 to N-1 as the device auxiliary notification indices for a total of
+    N device auxiliary notifications. The total number of device auxiliary notifications exposed by the device is
+    also device-specific.
+  }
+  \hline
   \mmioreg{ConfigGeneration}{Configuration atomicity value}{0x0fc}{R}{
     Reading from this register returns a value describing a version of the device-specific configuration space (see \field{Config}).
     The driver can then access the configuration space and, when finished, read \field{ConfigGeneration} again.
@@ -2109,6 +2122,9 @@ \subsection{MMIO Device Register Layout}\label{sec:Virtio Transport Options / Vi
 
 The device MUST NOT access virtual queue contents when \field{QueueReady} is zero (0x0).
 
+The device MUST ignore device auxiliary notifications for invalid device auxiliary notification
+indices.
+
 If VIRTIO_F_RING_RESET has been negotiated, the device MUST present a 0 in
 \field{QueueReady} after the driver has reset the virtqueue via
 \field{QueueReset}.
@@ -2191,6 +2207,8 @@ \subsubsection{Device Initialization}\label{sec:Virtio Transport Options / Virti
 Drivers not expecting shared memory MUST NOT use the shared
 memory registers.
 
+Drivers not expecting device auxiliary notifications MUST NOT use the device auxiliary notification register.
+
 Further initialization MUST follow the procedure described in
 \ref{sec:General Initialization And Device Operation / Device Initialization}~\nameref{sec:General Initialization And Device Operation / Device Initialization}.
 
@@ -2244,8 +2262,9 @@ \subsubsection{Notifications From The Device}\label{sec:Virtio Transport Options
 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 sends a used buffer notification
-or a configuration change notification to the device.
+is set. This is how the device sends a
+used buffer/configuration change/device-specific 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
-- 
2.25.1


---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


  parent reply	other threads:[~2022-03-30 15:27 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-30 15:26 [virtio-dev] [PATCH 0/4] Introduce aux. notifications and virtio-vhost-user Usama Arif
2022-03-30 15:26 ` [virtio-dev] [PATCH 1/4] content: Introduce driver/device auxiliary notifications Usama Arif
2022-04-04 10:06   ` [virtio-dev] " Stefan Hajnoczi
2022-03-30 15:26 ` [virtio-dev] [PATCH 2/4] content: Introduce driver/device aux. notification cfg type for PCI Usama Arif
2022-04-04 10:27   ` [virtio-dev] " Stefan Hajnoczi
2022-04-08 17:50     ` Usama Arif
2022-03-30 15:26 ` Usama Arif [this message]
2022-04-04 12:36   ` [virtio-dev] Re: [PATCH 3/4] content: Introduce driver/device auxiliary notifications for MMIO Stefan Hajnoczi
2022-04-08 17:51     ` Usama Arif
2022-03-30 15:26 ` [virtio-dev] [PATCH 4/4] vhost-user: add vhost-user device type Usama Arif
2022-04-04 13:05   ` [virtio-dev] " Stefan Hajnoczi
2022-04-08 17:56     ` Usama Arif

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220330152659.3780600-4-usama.arif@bytedance.com \
    --to=usama.arif@bytedance.com \
    --cc=fam.zheng@bytedance.com \
    --cc=liangma@liangbit.com \
    --cc=mst@redhat.com \
    --cc=ndragazis@arrikto.com \
    --cc=stefanha@redhat.com \
    --cc=virtio-dev@lists.oasis-open.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.