diff options
author | Dr. David Alan Gilbert <dgilbert@redhat.com> | 2019-07-12 13:20:00 +0100 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2019-07-25 07:21:15 -0400 |
commit | 8100dcfcd622f3c2387e104d31a29ef39b59e175 (patch) | |
tree | c59cd4e5b6aa631ed2af458886caac5070b86482 | |
parent | 39dfc8afc0b93963398afc465a3d24799e13b356 (diff) | |
download | virtio-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.tex | 17 |
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 |