aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDr. David Alan Gilbert <dgilbert@redhat.com>2019-07-12 13:20:00 +0100
committerMichael S. Tsirkin <mst@redhat.com>2019-07-25 07:21:15 -0400
commit8100dcfcd622f3c2387e104d31a29ef39b59e175 (patch)
treec59cd4e5b6aa631ed2af458886caac5070b86482
parent39dfc8afc0b93963398afc465a3d24799e13b356 (diff)
downloadvirtio-spec-8100dcfcd622f3c2387e104d31a29ef39b59e175.tar.gz
pci: Define virtio_pci_cap64
Define 'virtio_pci_cap64' to allow capabilities to describe memory regions larger than, or with an offset larger than 4GiB. This will be used by the shared memory region capability. Fixes: https://github.com/oasis-tcs/virtio-spec/issues/40 Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-rw-r--r--content.tex17
1 files changed, 17 insertions, 0 deletions
diff --git a/content.tex b/content.tex
index fafa532..d481359 100644
--- a/content.tex
+++ b/content.tex
@@ -746,6 +746,23 @@ The fields are interpreted as follows:
\end{note}
\end{description}
+A variant of this type, struct virtio_pci_cap64, is defined for
+those capaibilites that require offsets or lengths larger than
+4GiB:
+
+\begin{lstlisting}
+struct virtio_pci_cap64 {
+ struct virtio_pci_cap cap;
+ u32 offset_hi;
+ u32 length_hi;
+};
+\end{lstlisting}
+
+Given that the \field{cap.length} and \field{cap.offset} fields
+are only 32 bit, the additional \field{offset_hi} and \field {length_hi}
+fields provide the most significant 32 bits of a total 64 bit offset and
+length within the bar specified by \field{cap.bar}.
+
\drivernormative{\subsubsection}{Virtio Structure PCI Capabilities}{Virtio Transport Options / Virtio Over PCI Bus / Virtio Structure PCI Capabilities}
The driver MUST ignore any vendor-specific capability structure which has