All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/2] Cross-device resource sharing
@ 2020-03-19  2:18 ` David Stevens
  0 siblings, 0 replies; 18+ messages in thread
From: David Stevens @ 2020-03-19  2:18 UTC (permalink / raw)
  To: virtio-comment
  Cc: Gerd Hoffmann, Dylan Reid, Tomasz Figa, Zach Reizner,
	Keiichi Watanabe, Alexandre Courbot, Alex Lau,
	Stéphane Marchesin, Pawel Osciak, Gurchetan Singh,
	Stefan Hajnoczi, qemu-devel, Linux Media Mailing List,
	David Stevens

Hi all,

This is the next iteration of patches for adding support for sharing
resources between different virtio devices. The corresponding Linux
implementation is [1].

In addition to these patches, the most recent virtio-video patchset
includes a patch for importing objects into that device [2].

[1] https://markmail.org/thread/bfy6uk4q4v4cus7h
[2] https://markmail.org/message/wxdne5re7aaugbjg

Changes v3 -> v4:
 - Add virtio-gpu feature bit
 - Move virtio-gpu assign uuid command into 2d command group
 - Rename virtio-gpu uuid response

David Stevens (2):
  content: define what an exported object is
  virtio-gpu: add the ability to export resources

 content.tex      | 12 ++++++++++++
 introduction.tex |  4 ++++
 virtio-gpu.tex   | 29 +++++++++++++++++++++++++++++
 3 files changed, 45 insertions(+)

-- 
2.25.1.481.gfbce0eb801-goog


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH v4 0/2] Cross-device resource sharing
@ 2020-03-19  2:18 ` David Stevens
  0 siblings, 0 replies; 18+ messages in thread
From: David Stevens @ 2020-03-19  2:18 UTC (permalink / raw)
  To: virtio-comment
  Cc: Zach Reizner, Alexandre Courbot, qemu-devel, Stefan Hajnoczi,
	Alex Lau, Tomasz Figa, Keiichi Watanabe, David Stevens,
	Gerd Hoffmann, Stéphane Marchesin, Dylan Reid,
	Gurchetan Singh, Pawel Osciak, Linux Media Mailing List

Hi all,

This is the next iteration of patches for adding support for sharing
resources between different virtio devices. The corresponding Linux
implementation is [1].

In addition to these patches, the most recent virtio-video patchset
includes a patch for importing objects into that device [2].

[1] https://markmail.org/thread/bfy6uk4q4v4cus7h
[2] https://markmail.org/message/wxdne5re7aaugbjg

Changes v3 -> v4:
 - Add virtio-gpu feature bit
 - Move virtio-gpu assign uuid command into 2d command group
 - Rename virtio-gpu uuid response

David Stevens (2):
  content: define what an exported object is
  virtio-gpu: add the ability to export resources

 content.tex      | 12 ++++++++++++
 introduction.tex |  4 ++++
 virtio-gpu.tex   | 29 +++++++++++++++++++++++++++++
 3 files changed, 45 insertions(+)

-- 
2.25.1.481.gfbce0eb801-goog



^ permalink raw reply	[flat|nested] 18+ messages in thread

* [virtio-comment] [PATCH v4 0/2] Cross-device resource sharing
@ 2020-03-19  2:18 ` David Stevens
  0 siblings, 0 replies; 18+ messages in thread
From: David Stevens @ 2020-03-19  2:18 UTC (permalink / raw)
  To: virtio-comment
  Cc: Gerd Hoffmann, Dylan Reid, Tomasz Figa, Zach Reizner,
	Keiichi Watanabe, Alexandre Courbot, Alex Lau,
	Stéphane Marchesin, Pawel Osciak, Gurchetan Singh,
	Stefan Hajnoczi, qemu-devel, Linux Media Mailing List,
	David Stevens

Hi all,

This is the next iteration of patches for adding support for sharing
resources between different virtio devices. The corresponding Linux
implementation is [1].

In addition to these patches, the most recent virtio-video patchset
includes a patch for importing objects into that device [2].

[1] https://markmail.org/thread/bfy6uk4q4v4cus7h
[2] https://markmail.org/message/wxdne5re7aaugbjg

Changes v3 -> v4:
 - Add virtio-gpu feature bit
 - Move virtio-gpu assign uuid command into 2d command group
 - Rename virtio-gpu uuid response

David Stevens (2):
  content: define what an exported object is
  virtio-gpu: add the ability to export resources

 content.tex      | 12 ++++++++++++
 introduction.tex |  4 ++++
 virtio-gpu.tex   | 29 +++++++++++++++++++++++++++++
 3 files changed, 45 insertions(+)

-- 
2.25.1.481.gfbce0eb801-goog


This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH v4 1/2] content: define what an exported object is
  2020-03-19  2:18 ` David Stevens
  (?)
@ 2020-03-19  2:18   ` David Stevens
  -1 siblings, 0 replies; 18+ messages in thread
From: David Stevens @ 2020-03-19  2:18 UTC (permalink / raw)
  To: virtio-comment
  Cc: Gerd Hoffmann, Dylan Reid, Tomasz Figa, Zach Reizner,
	Keiichi Watanabe, Alexandre Courbot, Alex Lau,
	Stéphane Marchesin, Pawel Osciak, Gurchetan Singh,
	Stefan Hajnoczi, qemu-devel, Linux Media Mailing List,
	David Stevens

Define a mechanism for sharing objects between different virtio
devices.

Signed-off-by: David Stevens <stevensd@chromium.org>
---
 content.tex      | 12 ++++++++++++
 introduction.tex |  4 ++++
 2 files changed, 16 insertions(+)

diff --git a/content.tex b/content.tex
index b1ea9b9..c8a367b 100644
--- a/content.tex
+++ b/content.tex
@@ -373,6 +373,18 @@ \section{Driver Notifications} \label{sec:Virtqueues / Driver notifications}
 
 \input{shared-mem.tex}
 
+\section{Exporting Objects}\label{sec:Basic Facilities of a Virtio Device / Exporting Objects}
+
+When an object created by one virtio device needs to be
+shared with a seperate virtio device, the first device can
+export the object by generating a UUID which can then
+be passed to the second device to identify the object.
+
+What constitutes an object, how to export objects, and
+how to import objects are defined by the individual device
+types. It is RECOMMENDED that devices generate version 4
+UUIDs as specified by \hyperref[intro:rfc4122]{[RFC4122]}.
+
 \chapter{General Initialization And Device Operation}\label{sec:General Initialization And Device Operation}
 
 We start with an overview of device initialization, then expand on the
diff --git a/introduction.tex b/introduction.tex
index 40f16f8..fc2aa50 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -40,6 +40,10 @@ \section{Normative References}\label{sec:Normative References}
 	\phantomsection\label{intro:rfc2119}\textbf{[RFC2119]} &
 Bradner S., ``Key words for use in RFCs to Indicate Requirement
 Levels'', BCP 14, RFC 2119, March 1997. \newline\url{http://www.ietf.org/rfc/rfc2119.txt}\\
+	\phantomsection\label{intro:rfc4122}\textbf{[RFC4122]} &
+Leach, P., Mealling, M., and R. Salz, ``A Universally Unique
+IDentifier (UUID) URN Namespace'', RFC 4122, DOI 10.17487/RFC4122,
+July 2005. \newline\url{http://www.ietf.org/rfc/rfc4122.txt}\\
 	\phantomsection\label{intro:S390 PoP}\textbf{[S390 PoP]} & z/Architecture Principles of Operation, IBM Publication SA22-7832, \newline\url{http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr009.pdf}, and any future revisions\\
 	\phantomsection\label{intro:S390 Common I/O}\textbf{[S390 Common I/O]} & ESA/390 Common I/O-Device and Self-Description, IBM Publication SA22-7204, \newline\url{http://publibfp.dhe.ibm.com/cgi-bin/bookmgr/BOOKS/dz9ar501/CCONTENTS}, and any future revisions\\
 	\phantomsection\label{intro:PCI}\textbf{[PCI]} &
-- 
2.25.1.481.gfbce0eb801-goog


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v4 1/2] content: define what an exported object is
@ 2020-03-19  2:18   ` David Stevens
  0 siblings, 0 replies; 18+ messages in thread
From: David Stevens @ 2020-03-19  2:18 UTC (permalink / raw)
  To: virtio-comment
  Cc: Zach Reizner, Alexandre Courbot, qemu-devel, Stefan Hajnoczi,
	Alex Lau, Tomasz Figa, Keiichi Watanabe, David Stevens,
	Gerd Hoffmann, Stéphane Marchesin, Dylan Reid,
	Gurchetan Singh, Pawel Osciak, Linux Media Mailing List

Define a mechanism for sharing objects between different virtio
devices.

Signed-off-by: David Stevens <stevensd@chromium.org>
---
 content.tex      | 12 ++++++++++++
 introduction.tex |  4 ++++
 2 files changed, 16 insertions(+)

diff --git a/content.tex b/content.tex
index b1ea9b9..c8a367b 100644
--- a/content.tex
+++ b/content.tex
@@ -373,6 +373,18 @@ \section{Driver Notifications} \label{sec:Virtqueues / Driver notifications}
 
 \input{shared-mem.tex}
 
+\section{Exporting Objects}\label{sec:Basic Facilities of a Virtio Device / Exporting Objects}
+
+When an object created by one virtio device needs to be
+shared with a seperate virtio device, the first device can
+export the object by generating a UUID which can then
+be passed to the second device to identify the object.
+
+What constitutes an object, how to export objects, and
+how to import objects are defined by the individual device
+types. It is RECOMMENDED that devices generate version 4
+UUIDs as specified by \hyperref[intro:rfc4122]{[RFC4122]}.
+
 \chapter{General Initialization And Device Operation}\label{sec:General Initialization And Device Operation}
 
 We start with an overview of device initialization, then expand on the
diff --git a/introduction.tex b/introduction.tex
index 40f16f8..fc2aa50 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -40,6 +40,10 @@ \section{Normative References}\label{sec:Normative References}
 	\phantomsection\label{intro:rfc2119}\textbf{[RFC2119]} &
 Bradner S., ``Key words for use in RFCs to Indicate Requirement
 Levels'', BCP 14, RFC 2119, March 1997. \newline\url{http://www.ietf.org/rfc/rfc2119.txt}\\
+	\phantomsection\label{intro:rfc4122}\textbf{[RFC4122]} &
+Leach, P., Mealling, M., and R. Salz, ``A Universally Unique
+IDentifier (UUID) URN Namespace'', RFC 4122, DOI 10.17487/RFC4122,
+July 2005. \newline\url{http://www.ietf.org/rfc/rfc4122.txt}\\
 	\phantomsection\label{intro:S390 PoP}\textbf{[S390 PoP]} & z/Architecture Principles of Operation, IBM Publication SA22-7832, \newline\url{http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr009.pdf}, and any future revisions\\
 	\phantomsection\label{intro:S390 Common I/O}\textbf{[S390 Common I/O]} & ESA/390 Common I/O-Device and Self-Description, IBM Publication SA22-7204, \newline\url{http://publibfp.dhe.ibm.com/cgi-bin/bookmgr/BOOKS/dz9ar501/CCONTENTS}, and any future revisions\\
 	\phantomsection\label{intro:PCI}\textbf{[PCI]} &
-- 
2.25.1.481.gfbce0eb801-goog



^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [virtio-comment] [PATCH v4 1/2] content: define what an exported object is
@ 2020-03-19  2:18   ` David Stevens
  0 siblings, 0 replies; 18+ messages in thread
From: David Stevens @ 2020-03-19  2:18 UTC (permalink / raw)
  To: virtio-comment
  Cc: Gerd Hoffmann, Dylan Reid, Tomasz Figa, Zach Reizner,
	Keiichi Watanabe, Alexandre Courbot, Alex Lau,
	Stéphane Marchesin, Pawel Osciak, Gurchetan Singh,
	Stefan Hajnoczi, qemu-devel, Linux Media Mailing List,
	David Stevens

Define a mechanism for sharing objects between different virtio
devices.

Signed-off-by: David Stevens <stevensd@chromium.org>
---
 content.tex      | 12 ++++++++++++
 introduction.tex |  4 ++++
 2 files changed, 16 insertions(+)

diff --git a/content.tex b/content.tex
index b1ea9b9..c8a367b 100644
--- a/content.tex
+++ b/content.tex
@@ -373,6 +373,18 @@ \section{Driver Notifications} \label{sec:Virtqueues / Driver notifications}
 
 \input{shared-mem.tex}
 
+\section{Exporting Objects}\label{sec:Basic Facilities of a Virtio Device / Exporting Objects}
+
+When an object created by one virtio device needs to be
+shared with a seperate virtio device, the first device can
+export the object by generating a UUID which can then
+be passed to the second device to identify the object.
+
+What constitutes an object, how to export objects, and
+how to import objects are defined by the individual device
+types. It is RECOMMENDED that devices generate version 4
+UUIDs as specified by \hyperref[intro:rfc4122]{[RFC4122]}.
+
 \chapter{General Initialization And Device Operation}\label{sec:General Initialization And Device Operation}
 
 We start with an overview of device initialization, then expand on the
diff --git a/introduction.tex b/introduction.tex
index 40f16f8..fc2aa50 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -40,6 +40,10 @@ \section{Normative References}\label{sec:Normative References}
 	\phantomsection\label{intro:rfc2119}\textbf{[RFC2119]} &
 Bradner S., ``Key words for use in RFCs to Indicate Requirement
 Levels'', BCP 14, RFC 2119, March 1997. \newline\url{http://www.ietf.org/rfc/rfc2119.txt}\\
+	\phantomsection\label{intro:rfc4122}\textbf{[RFC4122]} &
+Leach, P., Mealling, M., and R. Salz, ``A Universally Unique
+IDentifier (UUID) URN Namespace'', RFC 4122, DOI 10.17487/RFC4122,
+July 2005. \newline\url{http://www.ietf.org/rfc/rfc4122.txt}\\
 	\phantomsection\label{intro:S390 PoP}\textbf{[S390 PoP]} & z/Architecture Principles of Operation, IBM Publication SA22-7832, \newline\url{http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr009.pdf}, and any future revisions\\
 	\phantomsection\label{intro:S390 Common I/O}\textbf{[S390 Common I/O]} & ESA/390 Common I/O-Device and Self-Description, IBM Publication SA22-7204, \newline\url{http://publibfp.dhe.ibm.com/cgi-bin/bookmgr/BOOKS/dz9ar501/CCONTENTS}, and any future revisions\\
 	\phantomsection\label{intro:PCI}\textbf{[PCI]} &
-- 
2.25.1.481.gfbce0eb801-goog


This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v4 2/2] virtio-gpu: add the ability to export resources
  2020-03-19  2:18 ` David Stevens
  (?)
@ 2020-03-19  2:18   ` David Stevens
  -1 siblings, 0 replies; 18+ messages in thread
From: David Stevens @ 2020-03-19  2:18 UTC (permalink / raw)
  To: virtio-comment
  Cc: Gerd Hoffmann, Dylan Reid, Tomasz Figa, Zach Reizner,
	Keiichi Watanabe, Alexandre Courbot, Alex Lau,
	Stéphane Marchesin, Pawel Osciak, Gurchetan Singh,
	Stefan Hajnoczi, qemu-devel, Linux Media Mailing List,
	David Stevens

Signed-off-by: David Stevens <stevensd@chromium.org>
---
 virtio-gpu.tex | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/virtio-gpu.tex b/virtio-gpu.tex
index af4ca61..e75aafa 100644
--- a/virtio-gpu.tex
+++ b/virtio-gpu.tex
@@ -35,6 +35,8 @@ \subsection{Feature bits}\label{sec:Device Types / GPU Device / Feature bits}
 \begin{description}
 \item[VIRTIO_GPU_F_VIRGL (0)] virgl 3D mode is supported.
 \item[VIRTIO_GPU_F_EDID  (1)] EDID is supported.
+\item[VIRTIO_GPU_F_RESOURCE_UUID (2)] assigning resources UUIDs for export
+  to other virtio devices is supported.
 \end{description}
 
 \subsection{Device configuration layout}\label{sec:Device Types / GPU Device / Device configuration layout}
@@ -181,6 +183,7 @@ \subsubsection{Device Operation: Request header}\label{sec:Device Types / GPU De
         VIRTIO_GPU_CMD_GET_CAPSET_INFO,
         VIRTIO_GPU_CMD_GET_CAPSET,
         VIRTIO_GPU_CMD_GET_EDID,
+        VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID,
 
         /* cursor commands */
         VIRTIO_GPU_CMD_UPDATE_CURSOR = 0x0300,
@@ -192,6 +195,7 @@ \subsubsection{Device Operation: Request header}\label{sec:Device Types / GPU De
         VIRTIO_GPU_RESP_OK_CAPSET_INFO,
         VIRTIO_GPU_RESP_OK_CAPSET,
         VIRTIO_GPU_RESP_OK_EDID,
+        VIRTIO_GPU_RESP_OK_RESOURCE_UUID,
 
         /* error responses */
         VIRTIO_GPU_RESP_ERR_UNSPEC = 0x1200,
@@ -454,6 +458,32 @@ \subsubsection{Device Operation: controlq}\label{sec:Device Types / GPU Device /
 This detaches any backing pages from a resource, to be used in case of
 guest swapping or object destruction.
 
+\item[VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID] Creates an exported object from
+  a resource. Request data is \field{struct
+    virtio_gpu_resource_assign_uuid}.  Response type is
+  VIRTIO_GPU_RESP_OK_RESOURCE_UUID, response data is \field{struct
+    virtio_gpu_resp_resource_uuid}. Support is optional and negotiated
+    using the VIRTIO_GPU_F_RESOURCE_UUID feature flag.
+
+\begin{lstlisting}
+struct virtio_gpu_resource_assign_uuid {
+        struct virtio_gpu_ctrl_hdr hdr;
+        le32 resource_id;
+        le32 padding;
+};
+
+struct virtio_gpu_resp_resource_uuid {
+        struct virtio_gpu_ctrl_hdr hdr;
+        u8 uuid[16];
+};
+\end{lstlisting}
+
+The response contains a UUID which identifies the exported object created from
+the host private resource. Note that if the resource has an attached backing,
+modifications made to the host private resource through the exported object by
+other devices are not visible in the attached backing until they are transferred
+into the backing.
+
 \end{description}
 
 \subsubsection{Device Operation: cursorq}\label{sec:Device Types / GPU Device / Device Operation / Device Operation: cursorq}
-- 
2.25.1.481.gfbce0eb801-goog


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v4 2/2] virtio-gpu: add the ability to export resources
@ 2020-03-19  2:18   ` David Stevens
  0 siblings, 0 replies; 18+ messages in thread
From: David Stevens @ 2020-03-19  2:18 UTC (permalink / raw)
  To: virtio-comment
  Cc: Zach Reizner, Alexandre Courbot, qemu-devel, Stefan Hajnoczi,
	Alex Lau, Tomasz Figa, Keiichi Watanabe, David Stevens,
	Gerd Hoffmann, Stéphane Marchesin, Dylan Reid,
	Gurchetan Singh, Pawel Osciak, Linux Media Mailing List

Signed-off-by: David Stevens <stevensd@chromium.org>
---
 virtio-gpu.tex | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/virtio-gpu.tex b/virtio-gpu.tex
index af4ca61..e75aafa 100644
--- a/virtio-gpu.tex
+++ b/virtio-gpu.tex
@@ -35,6 +35,8 @@ \subsection{Feature bits}\label{sec:Device Types / GPU Device / Feature bits}
 \begin{description}
 \item[VIRTIO_GPU_F_VIRGL (0)] virgl 3D mode is supported.
 \item[VIRTIO_GPU_F_EDID  (1)] EDID is supported.
+\item[VIRTIO_GPU_F_RESOURCE_UUID (2)] assigning resources UUIDs for export
+  to other virtio devices is supported.
 \end{description}
 
 \subsection{Device configuration layout}\label{sec:Device Types / GPU Device / Device configuration layout}
@@ -181,6 +183,7 @@ \subsubsection{Device Operation: Request header}\label{sec:Device Types / GPU De
         VIRTIO_GPU_CMD_GET_CAPSET_INFO,
         VIRTIO_GPU_CMD_GET_CAPSET,
         VIRTIO_GPU_CMD_GET_EDID,
+        VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID,
 
         /* cursor commands */
         VIRTIO_GPU_CMD_UPDATE_CURSOR = 0x0300,
@@ -192,6 +195,7 @@ \subsubsection{Device Operation: Request header}\label{sec:Device Types / GPU De
         VIRTIO_GPU_RESP_OK_CAPSET_INFO,
         VIRTIO_GPU_RESP_OK_CAPSET,
         VIRTIO_GPU_RESP_OK_EDID,
+        VIRTIO_GPU_RESP_OK_RESOURCE_UUID,
 
         /* error responses */
         VIRTIO_GPU_RESP_ERR_UNSPEC = 0x1200,
@@ -454,6 +458,32 @@ \subsubsection{Device Operation: controlq}\label{sec:Device Types / GPU Device /
 This detaches any backing pages from a resource, to be used in case of
 guest swapping or object destruction.
 
+\item[VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID] Creates an exported object from
+  a resource. Request data is \field{struct
+    virtio_gpu_resource_assign_uuid}.  Response type is
+  VIRTIO_GPU_RESP_OK_RESOURCE_UUID, response data is \field{struct
+    virtio_gpu_resp_resource_uuid}. Support is optional and negotiated
+    using the VIRTIO_GPU_F_RESOURCE_UUID feature flag.
+
+\begin{lstlisting}
+struct virtio_gpu_resource_assign_uuid {
+        struct virtio_gpu_ctrl_hdr hdr;
+        le32 resource_id;
+        le32 padding;
+};
+
+struct virtio_gpu_resp_resource_uuid {
+        struct virtio_gpu_ctrl_hdr hdr;
+        u8 uuid[16];
+};
+\end{lstlisting}
+
+The response contains a UUID which identifies the exported object created from
+the host private resource. Note that if the resource has an attached backing,
+modifications made to the host private resource through the exported object by
+other devices are not visible in the attached backing until they are transferred
+into the backing.
+
 \end{description}
 
 \subsubsection{Device Operation: cursorq}\label{sec:Device Types / GPU Device / Device Operation / Device Operation: cursorq}
-- 
2.25.1.481.gfbce0eb801-goog



^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [virtio-comment] [PATCH v4 2/2] virtio-gpu: add the ability to export resources
@ 2020-03-19  2:18   ` David Stevens
  0 siblings, 0 replies; 18+ messages in thread
From: David Stevens @ 2020-03-19  2:18 UTC (permalink / raw)
  To: virtio-comment
  Cc: Gerd Hoffmann, Dylan Reid, Tomasz Figa, Zach Reizner,
	Keiichi Watanabe, Alexandre Courbot, Alex Lau,
	Stéphane Marchesin, Pawel Osciak, Gurchetan Singh,
	Stefan Hajnoczi, qemu-devel, Linux Media Mailing List,
	David Stevens

Signed-off-by: David Stevens <stevensd@chromium.org>
---
 virtio-gpu.tex | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/virtio-gpu.tex b/virtio-gpu.tex
index af4ca61..e75aafa 100644
--- a/virtio-gpu.tex
+++ b/virtio-gpu.tex
@@ -35,6 +35,8 @@ \subsection{Feature bits}\label{sec:Device Types / GPU Device / Feature bits}
 \begin{description}
 \item[VIRTIO_GPU_F_VIRGL (0)] virgl 3D mode is supported.
 \item[VIRTIO_GPU_F_EDID  (1)] EDID is supported.
+\item[VIRTIO_GPU_F_RESOURCE_UUID (2)] assigning resources UUIDs for export
+  to other virtio devices is supported.
 \end{description}
 
 \subsection{Device configuration layout}\label{sec:Device Types / GPU Device / Device configuration layout}
@@ -181,6 +183,7 @@ \subsubsection{Device Operation: Request header}\label{sec:Device Types / GPU De
         VIRTIO_GPU_CMD_GET_CAPSET_INFO,
         VIRTIO_GPU_CMD_GET_CAPSET,
         VIRTIO_GPU_CMD_GET_EDID,
+        VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID,
 
         /* cursor commands */
         VIRTIO_GPU_CMD_UPDATE_CURSOR = 0x0300,
@@ -192,6 +195,7 @@ \subsubsection{Device Operation: Request header}\label{sec:Device Types / GPU De
         VIRTIO_GPU_RESP_OK_CAPSET_INFO,
         VIRTIO_GPU_RESP_OK_CAPSET,
         VIRTIO_GPU_RESP_OK_EDID,
+        VIRTIO_GPU_RESP_OK_RESOURCE_UUID,
 
         /* error responses */
         VIRTIO_GPU_RESP_ERR_UNSPEC = 0x1200,
@@ -454,6 +458,32 @@ \subsubsection{Device Operation: controlq}\label{sec:Device Types / GPU Device /
 This detaches any backing pages from a resource, to be used in case of
 guest swapping or object destruction.
 
+\item[VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID] Creates an exported object from
+  a resource. Request data is \field{struct
+    virtio_gpu_resource_assign_uuid}.  Response type is
+  VIRTIO_GPU_RESP_OK_RESOURCE_UUID, response data is \field{struct
+    virtio_gpu_resp_resource_uuid}. Support is optional and negotiated
+    using the VIRTIO_GPU_F_RESOURCE_UUID feature flag.
+
+\begin{lstlisting}
+struct virtio_gpu_resource_assign_uuid {
+        struct virtio_gpu_ctrl_hdr hdr;
+        le32 resource_id;
+        le32 padding;
+};
+
+struct virtio_gpu_resp_resource_uuid {
+        struct virtio_gpu_ctrl_hdr hdr;
+        u8 uuid[16];
+};
+\end{lstlisting}
+
+The response contains a UUID which identifies the exported object created from
+the host private resource. Note that if the resource has an attached backing,
+modifications made to the host private resource through the exported object by
+other devices are not visible in the attached backing until they are transferred
+into the backing.
+
 \end{description}
 
 \subsubsection{Device Operation: cursorq}\label{sec:Device Types / GPU Device / Device Operation / Device Operation: cursorq}
-- 
2.25.1.481.gfbce0eb801-goog


This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH v4 0/2] Cross-device resource sharing
  2020-03-19  2:18 ` David Stevens
  (?)
@ 2020-03-20  6:41   ` Gerd Hoffmann
  -1 siblings, 0 replies; 18+ messages in thread
From: Gerd Hoffmann @ 2020-03-20  6:41 UTC (permalink / raw)
  To: David Stevens
  Cc: virtio-comment, Dylan Reid, Tomasz Figa, Zach Reizner,
	Keiichi Watanabe, Alexandre Courbot, Alex Lau,
	Stéphane Marchesin, Pawel Osciak, Gurchetan Singh,
	Stefan Hajnoczi, qemu-devel, Linux Media Mailing List

On Thu, Mar 19, 2020 at 11:18:21AM +0900, David Stevens wrote:
> Hi all,
> 
> This is the next iteration of patches for adding support for sharing
> resources between different virtio devices. The corresponding Linux
> implementation is [1].
> 
> In addition to these patches, the most recent virtio-video patchset
> includes a patch for importing objects into that device [2].

Looks good to me.

So, open a github issue to kick the TC vote process and get this merged?
(see virtio-spec/.github/PULL_REQUEST_TEMPLATE.md).

cheers,
  Gerd


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v4 0/2] Cross-device resource sharing
@ 2020-03-20  6:41   ` Gerd Hoffmann
  0 siblings, 0 replies; 18+ messages in thread
From: Gerd Hoffmann @ 2020-03-20  6:41 UTC (permalink / raw)
  To: David Stevens
  Cc: Zach Reizner, Alexandre Courbot, qemu-devel, Stefan Hajnoczi,
	Alex Lau, Tomasz Figa, Keiichi Watanabe, virtio-comment,
	Stéphane Marchesin, Dylan Reid, Gurchetan Singh,
	Pawel Osciak, Linux Media Mailing List

On Thu, Mar 19, 2020 at 11:18:21AM +0900, David Stevens wrote:
> Hi all,
> 
> This is the next iteration of patches for adding support for sharing
> resources between different virtio devices. The corresponding Linux
> implementation is [1].
> 
> In addition to these patches, the most recent virtio-video patchset
> includes a patch for importing objects into that device [2].

Looks good to me.

So, open a github issue to kick the TC vote process and get this merged?
(see virtio-spec/.github/PULL_REQUEST_TEMPLATE.md).

cheers,
  Gerd



^ permalink raw reply	[flat|nested] 18+ messages in thread

* [virtio-comment] Re: [PATCH v4 0/2] Cross-device resource sharing
@ 2020-03-20  6:41   ` Gerd Hoffmann
  0 siblings, 0 replies; 18+ messages in thread
From: Gerd Hoffmann @ 2020-03-20  6:41 UTC (permalink / raw)
  To: David Stevens
  Cc: virtio-comment, Dylan Reid, Tomasz Figa, Zach Reizner,
	Keiichi Watanabe, Alexandre Courbot, Alex Lau,
	Stéphane Marchesin, Pawel Osciak, Gurchetan Singh,
	Stefan Hajnoczi, qemu-devel, Linux Media Mailing List

On Thu, Mar 19, 2020 at 11:18:21AM +0900, David Stevens wrote:
> Hi all,
> 
> This is the next iteration of patches for adding support for sharing
> resources between different virtio devices. The corresponding Linux
> implementation is [1].
> 
> In addition to these patches, the most recent virtio-video patchset
> includes a patch for importing objects into that device [2].

Looks good to me.

So, open a github issue to kick the TC vote process and get this merged?
(see virtio-spec/.github/PULL_REQUEST_TEMPLATE.md).

cheers,
  Gerd


This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v4 0/2] Cross-device resource sharing
  2020-03-20  6:41   ` Gerd Hoffmann
  (?)
@ 2020-03-23  1:52     ` David Stevens
  -1 siblings, 0 replies; 18+ messages in thread
From: David Stevens @ 2020-03-23  1:52 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: virtio-comment, Dylan Reid, Tomasz Figa, Zach Reizner,
	Keiichi Watanabe, Alexandre Courbot, Alex Lau,
	Stéphane Marchesin, Pawel Osciak, Gurchetan Singh,
	Stefan Hajnoczi, qemu-devel, Linux Media Mailing List

Thanks for taking a look at this. I've opened a github issue.

Fixes: https://github.com/oasis-tcs/virtio-spec/issues/76

Thanks,
David

On Fri, Mar 20, 2020 at 3:41 PM Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> On Thu, Mar 19, 2020 at 11:18:21AM +0900, David Stevens wrote:
> > Hi all,
> >
> > This is the next iteration of patches for adding support for sharing
> > resources between different virtio devices. The corresponding Linux
> > implementation is [1].
> >
> > In addition to these patches, the most recent virtio-video patchset
> > includes a patch for importing objects into that device [2].
>
> Looks good to me.
>
> So, open a github issue to kick the TC vote process and get this merged?
> (see virtio-spec/.github/PULL_REQUEST_TEMPLATE.md).
>
> cheers,
>   Gerd
>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v4 0/2] Cross-device resource sharing
@ 2020-03-23  1:52     ` David Stevens
  0 siblings, 0 replies; 18+ messages in thread
From: David Stevens @ 2020-03-23  1:52 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: Zach Reizner, Alexandre Courbot, qemu-devel, Stefan Hajnoczi,
	Alex Lau, Tomasz Figa, Keiichi Watanabe, virtio-comment,
	Stéphane Marchesin, Dylan Reid, Gurchetan Singh,
	Pawel Osciak, Linux Media Mailing List

Thanks for taking a look at this. I've opened a github issue.

Fixes: https://github.com/oasis-tcs/virtio-spec/issues/76

Thanks,
David

On Fri, Mar 20, 2020 at 3:41 PM Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> On Thu, Mar 19, 2020 at 11:18:21AM +0900, David Stevens wrote:
> > Hi all,
> >
> > This is the next iteration of patches for adding support for sharing
> > resources between different virtio devices. The corresponding Linux
> > implementation is [1].
> >
> > In addition to these patches, the most recent virtio-video patchset
> > includes a patch for importing objects into that device [2].
>
> Looks good to me.
>
> So, open a github issue to kick the TC vote process and get this merged?
> (see virtio-spec/.github/PULL_REQUEST_TEMPLATE.md).
>
> cheers,
>   Gerd
>


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [virtio-comment] Re: [PATCH v4 0/2] Cross-device resource sharing
@ 2020-03-23  1:52     ` David Stevens
  0 siblings, 0 replies; 18+ messages in thread
From: David Stevens @ 2020-03-23  1:52 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: virtio-comment, Dylan Reid, Tomasz Figa, Zach Reizner,
	Keiichi Watanabe, Alexandre Courbot, Alex Lau,
	Stéphane Marchesin, Pawel Osciak, Gurchetan Singh,
	Stefan Hajnoczi, qemu-devel, Linux Media Mailing List

Thanks for taking a look at this. I've opened a github issue.

Fixes: https://github.com/oasis-tcs/virtio-spec/issues/76

Thanks,
David

On Fri, Mar 20, 2020 at 3:41 PM Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> On Thu, Mar 19, 2020 at 11:18:21AM +0900, David Stevens wrote:
> > Hi all,
> >
> > This is the next iteration of patches for adding support for sharing
> > resources between different virtio devices. The corresponding Linux
> > implementation is [1].
> >
> > In addition to these patches, the most recent virtio-video patchset
> > includes a patch for importing objects into that device [2].
>
> Looks good to me.
>
> So, open a github issue to kick the TC vote process and get this merged?
> (see virtio-spec/.github/PULL_REQUEST_TEMPLATE.md).
>
> cheers,
>   Gerd
>

This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [virtio-comment] Request vote for the patch: Cross-device resource sharing
  2020-03-20  6:41   ` Gerd Hoffmann
  (?)
@ 2020-04-28  2:15     ` David Stevens
  -1 siblings, 0 replies; 18+ messages in thread
From: David Stevens @ 2020-04-28  2:15 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: virtio-comment, Dylan Reid, Tomasz Figa, Zach Reizner,
	Keiichi Watanabe, Alexandre Courbot, Alex Lau,
	Stéphane Marchesin, Pawel Osciak, Gurchetan Singh,
	Stefan Hajnoczi, qemu-devel, Linux Media Mailing List

Request for a vote.

Fixes: https://github.com/oasis-tcs/virtio-spec/issues/76

Thanks,
David

On Fri, Mar 20, 2020 at 3:41 PM Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> On Thu, Mar 19, 2020 at 11:18:21AM +0900, David Stevens wrote:
> > Hi all,
> >
> > This is the next iteration of patches for adding support for sharing
> > resources between different virtio devices. The corresponding Linux
> > implementation is [1].
> >
> > In addition to these patches, the most recent virtio-video patchset
> > includes a patch for importing objects into that device [2].
>
> Looks good to me.
>
> So, open a github issue to kick the TC vote process and get this merged?
> (see virtio-spec/.github/PULL_REQUEST_TEMPLATE.md).
>
> cheers,
>   Gerd
>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [virtio-comment] Request vote for the patch: Cross-device resource sharing
@ 2020-04-28  2:15     ` David Stevens
  0 siblings, 0 replies; 18+ messages in thread
From: David Stevens @ 2020-04-28  2:15 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: Zach Reizner, Alexandre Courbot, qemu-devel, Stefan Hajnoczi,
	Alex Lau, Tomasz Figa, Keiichi Watanabe, virtio-comment,
	Stéphane Marchesin, Dylan Reid, Gurchetan Singh,
	Pawel Osciak, Linux Media Mailing List

Request for a vote.

Fixes: https://github.com/oasis-tcs/virtio-spec/issues/76

Thanks,
David

On Fri, Mar 20, 2020 at 3:41 PM Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> On Thu, Mar 19, 2020 at 11:18:21AM +0900, David Stevens wrote:
> > Hi all,
> >
> > This is the next iteration of patches for adding support for sharing
> > resources between different virtio devices. The corresponding Linux
> > implementation is [1].
> >
> > In addition to these patches, the most recent virtio-video patchset
> > includes a patch for importing objects into that device [2].
>
> Looks good to me.
>
> So, open a github issue to kick the TC vote process and get this merged?
> (see virtio-spec/.github/PULL_REQUEST_TEMPLATE.md).
>
> cheers,
>   Gerd
>


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [virtio-comment] Request vote for the patch: Cross-device resource sharing
@ 2020-04-28  2:15     ` David Stevens
  0 siblings, 0 replies; 18+ messages in thread
From: David Stevens @ 2020-04-28  2:15 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: virtio-comment, Dylan Reid, Tomasz Figa, Zach Reizner,
	Keiichi Watanabe, Alexandre Courbot, Alex Lau,
	Stéphane Marchesin, Pawel Osciak, Gurchetan Singh,
	Stefan Hajnoczi, qemu-devel, Linux Media Mailing List

Request for a vote.

Fixes: https://github.com/oasis-tcs/virtio-spec/issues/76

Thanks,
David

On Fri, Mar 20, 2020 at 3:41 PM Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> On Thu, Mar 19, 2020 at 11:18:21AM +0900, David Stevens wrote:
> > Hi all,
> >
> > This is the next iteration of patches for adding support for sharing
> > resources between different virtio devices. The corresponding Linux
> > implementation is [1].
> >
> > In addition to these patches, the most recent virtio-video patchset
> > includes a patch for importing objects into that device [2].
>
> Looks good to me.
>
> So, open a github issue to kick the TC vote process and get this merged?
> (see virtio-spec/.github/PULL_REQUEST_TEMPLATE.md).
>
> cheers,
>   Gerd
>

This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2020-04-28  2:17 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-19  2:18 [PATCH v4 0/2] Cross-device resource sharing David Stevens
2020-03-19  2:18 ` [virtio-comment] " David Stevens
2020-03-19  2:18 ` David Stevens
2020-03-19  2:18 ` [PATCH v4 1/2] content: define what an exported object is David Stevens
2020-03-19  2:18   ` [virtio-comment] " David Stevens
2020-03-19  2:18   ` David Stevens
2020-03-19  2:18 ` [PATCH v4 2/2] virtio-gpu: add the ability to export resources David Stevens
2020-03-19  2:18   ` [virtio-comment] " David Stevens
2020-03-19  2:18   ` David Stevens
2020-03-20  6:41 ` [PATCH v4 0/2] Cross-device resource sharing Gerd Hoffmann
2020-03-20  6:41   ` [virtio-comment] " Gerd Hoffmann
2020-03-20  6:41   ` Gerd Hoffmann
2020-03-23  1:52   ` David Stevens
2020-03-23  1:52     ` [virtio-comment] " David Stevens
2020-03-23  1:52     ` David Stevens
2020-04-28  2:15   ` [virtio-comment] Request vote for the patch: " David Stevens
2020-04-28  2:15     ` David Stevens
2020-04-28  2:15     ` David Stevens

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.