[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 virtio 1/1] Add "Group Identifier" to virtio PCI
From: |
Venu Busireddy |
Subject: |
[Qemu-devel] [PATCH v2 virtio 1/1] Add "Group Identifier" to virtio PCI capabilities. |
Date: |
Tue, 26 Jun 2018 22:49:35 -0500 |
Add VIRTIO_PCI_CAP_GROUP_ID_CFG (Group Identifier) capability to the
virtio PCI capabilities to allow for the grouping of devices.
Signed-off-by: Venu Busireddy <address@hidden>
---
content.tex | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/content.tex b/content.tex
index be18234..27581c1 100644
--- a/content.tex
+++ b/content.tex
@@ -599,6 +599,8 @@ The fields are interpreted as follows:
#define VIRTIO_PCI_CAP_DEVICE_CFG 4
/* PCI configuration access */
#define VIRTIO_PCI_CAP_PCI_CFG 5
+/* Group Identifier */
+#define VIRTIO_PCI_CAP_GROUP_ID_CFG 6
\end{lstlisting}
Any other value is reserved for future use.
@@ -997,6 +999,40 @@ address \field{cap.length} bytes within a BAR range
specified by some other Virtio Structure PCI Capability
of type other than \field{VIRTIO_PCI_CAP_PCI_CFG}.
+\subsubsection{Group Identifier capability}\label{sec:Virtio Transport Options
/ Virtio Over PCI Bus / PCI Device Layout / Group Identifier capability}
+
+The VIRTIO_PCI_CAP_GROUP_ID_CFG capability provides means for grouping devices
together.
+
+The capability is immediately followed by an identifier of arbitrary size as
below:
+
+\begin{lstlisting}
+struct virtio_pci_group_id_cap {
+ struct virtio_pci_cap cap;
+ u8 group_id[]; /* Group Identifier */
+};
+\end{lstlisting}
+
+The fields \field{cap.bar}, \field{cap.length}, \field{cap.offset}
+and \field{group_id} are read-only for the driver.
+
+The specification does not impose any restrictions on the structure
+or size of group_id[], except that the size must be a multiple of 4.
+Devices are free to declare this array as large as needed, as long as
+the combined size of all capabilities can be accommodated within the
+PCI configuration space.
+
+The field \field{cap.cap_len} indicates the length of the group identifier
+\field{group_id}. The fields \field{cap.bar}, \field{cap.offset} and
+\field{cap.length} should be set to 0.
+
+\devicenormative{\paragraph}{Group Identifier capability}{Virtio Transport
Options / Virtio Over PCI Bus / PCI Device Layout / Group Identifier capability}
+
+The device MAY present the VIRTIO_PCI_CAP_GROUP_ID_CFG capability.
+
+\drivernormative{\paragraph}{Group Identifier capability}{Virtio Transport
Options / Virtio Over PCI Bus / PCI Device Layout / Group Identifier capability}
+
+The driver MUST NOT write to group_id[] area.
+
\subsubsection{Legacy Interfaces: A Note on PCI Device
Layout}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device
Layout / Legacy Interfaces: A Note on PCI Device Layout}
Transitional devices MUST present part of configuration
- [Qemu-devel] [PATCH v2 0/4] Use of unique identifier for pairing virtio and passthrough devices..., Venu Busireddy, 2018/06/26
- [Qemu-devel] [PATCH v2 1/4] Add a true or false option to the DEFINE_PROP_UUID macro., Venu Busireddy, 2018/06/26
- [Qemu-devel] [PATCH v2 2/4] Add "Group Identifier" support to virtio devices., Venu Busireddy, 2018/06/26
- [Qemu-devel] [PATCH v2 3/4] Add "Group Identifier" support to Red Hat PCI bridge., Venu Busireddy, 2018/06/26
- [Qemu-devel] [PATCH v2 4/4] Add "Group Identifier" support to Red Hat PCI Express bridge., Venu Busireddy, 2018/06/26
- [Qemu-devel] [PATCH v2 virtio 1/1] Add "Group Identifier" to virtio PCI capabilities.,
Venu Busireddy <=
- Re: [Qemu-devel] [PATCH v2 0/4] Use of unique identifier for pairing virtio and passthrough devices..., Michael S. Tsirkin, 2018/06/27
- Re: [Qemu-devel] [PATCH v2 0/4] Use of unique identifier for pairing virtio and passthrough devices..., Roman Kagan, 2018/06/27